|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2013, 17:28 | #1 |
Регистрация: 01.12.2013
Сообщений: 4
|
Интерфейсы.
Есть класс допустим А, есть два интерфейса допустим B, C. Класс A реализует их. В классе А, есть два коструктора
A(Integer a){} A(Integer a, Integer b){} Можно ли сделать так, что бы при создании объекта класса А при создании через интерфейс B был доступен только первый конструктор, а при С только второй. B b = new A(2); // можно B b = new A(2,3); // нельзя И наоборот с С. Кто знает напишите пожалуйста. Спасибо. |
01.12.2013, 22:53 | #2 |
Регистрация: 01.12.2013
Сообщений: 4
|
Если это нереально и я сказал фигню, то напишите пожалуйста ... Спасибо.
|
02.12.2013, 20:05 | #3 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Класс реализующий два и более интерфейсов не может представлять один из них без другого...
Например, наушники с микрофоном... это в любом случае (какой конструктор не используй) будут наушники с микрофоном и не иначе. Вот только мы знаем, что они умеют все что должны уметь наушники и все что должен уметь микрофон. И соответственно в рамках конкретной задачи будем использовать лишь необходимый нам функционал. В твоем случае, у класса А предположим существование как мин. двух полей a, b. Конструкторы их инициализируют... не зависимо от конструктора поля все равно будут. Просто они могут быть не инициализированы. Ответ на твой вопрос: Логически так нельзя делать (да как бы и необходимости в этом не вижу - может пример приведешь?). А практически тебя ни кто не запрещает использовать что нить вроде Код:
|
07.12.2013, 04:52 | #4 |
Регистрация: 01.12.2013
Сообщений: 4
|
Спасибо. Интерестно насчет методов. Мне кажется стоит потянуться в сторону паттернов. Ибо код не совсем грамотно спроектирован в практической части это выглядит как класс Matrix. Два интерфейса SquareMatrix, SimpleMatrix. Соответственно есть методы только для простых и только для квадратных. Ну можно было бы и без квадратных только проверок больше. Так вот один конструктор для простых с двумя интами а второй для квадратных с одним. Еще раз спасибо !)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интерфейсы | Amgsys HQ | Общие вопросы Delphi | 2 | 14.08.2013 23:45 |
xml интерфейсы | Meunikum | PHP | 0 | 26.01.2013 11:45 |
COM-интерфейсы MS Word | mitryz | Общие вопросы C/C++ | 0 | 04.11.2009 11:18 |
Интерфейсы | Maks1978 | Общие вопросы C/C++ | 0 | 29.06.2009 22:11 |
Интерфейсы | MaZaHaKa | Общие вопросы Delphi | 1 | 30.11.2008 19:17 |