|
|
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
Зразу прошу извинить за глупый вопрос. Начал учить java. Прочитал объяснение понятия "интерфейс", так и не понял что это такое и зачем это надо? Объясните если не тяжело на пальцах, что это такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 09:59 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
Вам сюда: Bruce Eckel Thinking in Java http://www.kulichki.com/inkwell/comp/java.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 10:19 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
есть такое мнение, что Bruce Eckel - книга для продвинутых разработчиков и новичок не поймет ее в полной мере. Я бы первой книгой порекомендовал Хорстманна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 14:03 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
mysterioесть такое мнение, что Bruce Eckel - книга для продвинутых разработчиков и новичок не поймет ее в полной мере. Я бы первой книгой порекомендовал Хорстманна.Поддерживаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 14:15 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
Невижу ничего особенного, в ней же все с самого примитивного начинается http://www.bruceeckel.by.ru/tij/Chapter01.html#Heading23 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 14:23 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
вован_jЗразу прошу извинить за глупый вопрос. Начал учить java. Прочитал объяснение понятия "интерфейс", так и не понял что это такое и зачем это надо? Объясните если не тяжело на пальцах, что это такое? На пальцах: Допустим, есть у тебя два класса, A и B, в которых есть один и тот же метод f(). После того, как ты напишешь класс C, унаследованный от A и B, то компилятор не сможет решить, какую из реализаций методода f() ему нужно использовать при вызове C.f(); Это нехорошо. Поэтому умные мужики и придумали интерфейс - такой класс, в котором методы только определены, но не реализованы. Т.е. если теперь у тебя A и B - интерфейсы, то ты обязан написать свою реализацию метода f(). А есть еще такая штука, как абстрактные классы. Это нечто среднее между классом и интерфейсом. Некоторые методы у него реализованы, а некоторые - нет. Эти методы должны быть переопределены потомками. Теперь совсем на пальцах. Представим себе класс "Собака". У нее есть некое количество ног, пол, кличка, любимая еда, а также она умеет издавать лай. Метод "залаять()" можно вынести в интерфейс "Лающая", который, строго говоря, может относиться не только к собаке, но и например к лисице, или койоту. Таким образом мы можем приводить собаку к типу "Лающая", и работать сходным образом со всеми лающими животными. Все методы собаки, кроме количества ног, мы определим в базовом абстрактном классе "Собака". Метод "getКоличествоНог()" мы сделаем абстрактным, для красоты :-) А теперь унаследуем от класса "Собака" классы "НормальнаяСобака", "СобакаИнвалид" и "СобакаМутант". Дла первого определим getКоличествоНог как 4, для второго - <4, а для третьего - как >4, и сделаем проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 15:30 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
Шикарный пример :-) Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 16:08 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
hinotfШикарный пример :-) Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya Однако в нём приведён пример "не правильного" наследования. Количество ног в процессе жизни собаки может изменяться, а наследование приводит к перманентному связыванию числа ног с "собакой" %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 16:48 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs hinotfШикарный пример :-) Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya Однако в нём приведён пример "не правильного" наследования. Количество ног в процессе жизни собаки может изменяться, а наследование приводит к перманентному связыванию числа ног с "собакой" %) Согласен. Но я писал пример скорее как proof of concept. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 17:43 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
автор Допустим, есть у тебя два класса, A и B, в которых есть один и тот же метод f(). После того, как ты напишешь класс C, унаследованный от A и B Как это у класса может быть 2 родителя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 17:59 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
rrtfm автор Допустим, есть у тебя два класса, A и B, в которых есть один и тот же метод f(). После того, как ты напишешь класс C, унаследованный от A и B Как это у класса может быть 2 родителя ? Это в С++ такое бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 18:04 |
|
||
|
Интерфейс
|
|||
|---|---|---|---|
|
#18+
Java не C++ и множественное наследование в ней решается с помощью интерфейсов и делегирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 22:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33906679&tid=2148458]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 468ms |

| 0 / 0 |
