![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: нет Всего: 14 |
Нет, просто, хотел разобратся ![]() Наверное я не понимал слова "сигнатура". Это веть и есть сходство, просто первые буквы разные, большая и маленькая ? -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
Guest |
|
||||||
Unregistered |
Опубликуй интерфейс Callback
![]() 1. Если интерфейс Callback определён вот так:
ТО ОТНОСИТСЯ Если так:
2. ДА. Он в твоём самом верхнем куске кода. Правда, если интерфейс у тебя описан без Min() - тогда при компиляции ругнётся. В классе у тебя реализация. Если прочитал мою лирику - то это именно программирование "доставания билетика", конкретного случая. Например из лифчика. ![]()
3. Только тем что callback описан в Callback(и, судя по всему, в интерфейсе указан как в моём ответе на вопрос "1"). Если ты о похожести имён - то это абсолютно разные идентификаторы из-за разной первой буквы. Это как "destination" и "promoter", "HellCat" и "DuBaI" - просто разные слова. PS: приведи код интерфейса!!! А то мы как слепые, которые слона с разных сторон щупают!!! Толчёмся вокруг да около ![]() |
||||||
|
|||||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Забыл залогиниться
![]() Сигнатура - это ИМЯ МЕТОДА с точностью до буковки и учётом регистра + набор параметров(с учётом их порядка следования и типа) Разница в первой буковке делает эти два названия АБСОЛЮТНО разными идентификаторами -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: нет Всего: 14 |
Ну блин наконец то, то что надо.
Большое спасибо ![]() А то втирают мне логику которую я еще понял когда книгу в руки взял. Но только вот то что сейчас Ты мне привел там нет. Добавлено @ 14:57
chief39 это был ты. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Сигнатура это объявление метода: включает в себя название (все идентификаторы в Java регистрозависимые), его аргументы, тип возвращаемого значения, модификаторы доступа, прочие модификаторы.
Считается что метод переопределяет метод определенный в родителе, если: - оба метода не статические - метод имеет такое же имя как и у родителя - метод имеет такие же параметры что и у родителя - метод возвращает значение того же типа, что и родитель (проверяется компилятором) - метод не выбрасывает никаких проверяемых исключений, не объявленных в родителе (проверяется компилятором) - имеет более слабый или такой же модификатор доступа что и родитель (проверяется компилятором) - родительский метод не private и не final (второе проверяется компилятором)
Я смотрю у кого-то уже весна, началась ![]() -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Гм... Эккель настаивает на том, что сигнатура - это исключительно название + список параметров(порядок+типы)
И подчёркивает что возвращаемое значение в сигнатуру НЕ входит. Ибо метод может быть вызван без приваивания резалта переменной и с компилятор не будет знать какой именно метод вызвать если разнятся только типом возвращаемого. Или здесь имеется в виду сигнатура в другом понимании? Может дока какая-то специальная есть по этим нюансам?
У меня круглый год весна ![]() -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
Т.е. этими строками
мы указываем, интерфейсом какого именно класса должен интерфейс является. Так? Вот именно этой строкой: cit = man; да? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Мы присваиваем переменной типа Citizen объект man. И в дальнейщем, по ссылке cit, мы сможем с ним работать как с объектом типа Citizen. Привести переменную к типу можно: (MyType) variable, проверить что переменная приводима к данному типу так: if(variable instanceof MyType). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: нет Всего: 14 |
Объясняю свою логику, если что поправте.
Есть классы которые реализуют интерфейс. В интерфейсе можно указать, к примеру, методы, которые должны указыватся в классе обязательно,если он реализует интерфейс. Если передать ссылку от объекта man, который реализует интерфейс Emlpoyee, и Citizen, переменной интерфейса cit (Citizen), то через cit можно обращатся как через объект man, потому что man реализует интерфейс, которым является cit. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Все верно. Вот это я не совсем понял, если под ссылку от объекта имеется в виду присваивание, то да присвоить можно, и именно потому что класс Man реализует Citizen. Иначе была бы ошибка приведения типов. А вот вторую половину я не понял вообще. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Можно. Только в более урезанном виде(скорее всего) - в классе man могут быть методы, которые не входят в интерфейс. Но в принципе - всё верно ![]()
Нууу... мы говорим что гражданином, с которым мы сейчас что-то будем делать - будет вооон тот мужик. И пусть он не волнуется, он нам нужен только как гражданин. Ссылка cit умеет работать только с гражданами. А поскольку man является и гражданином в т.ч. - то вот ей новый гражданин. -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |