![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| IUser |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 22.3.2007 Репутация: нет Всего: нет |
В книге Философия Java, есть пример Приведение к базовому типу, и потом дальше в книге есть постоянные ссылки на это приведение для чего оно нужно и как часто используется в реальных программах.
Вот сам пример //: c06:Wind.java // Наследование и приведение к базовому типу. import java.util.*; class Instrument { public void play() {} static void tune(Instrument i) { // ... i.play(); } } // Объект Wind так же Instrument // потому что они имеют общий интерфейс: class Wind extends Instrument { public static void main(String[] args) { Wind flute = new Wind(); Instrument.tune(flute); // Upcasting } } ///:~ |
|||
|
||||
| _shef_ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 8.6.2007 Репутация: нет Всего: 1 |
А где приведение?
Оно конечно есть, но не явное. В чем вопрос собственно? Кажись вьехал. Классический пример: Есть класс ФИГУРА от него наследуем КВАДРАТ, ТРЕУГОЛЬНИК, ОКРУЖНОСТЬ Допустим тебе надо иметь 2 квадрата и 4 треугольника, но этот набор экземпляров в любой момент может измениться(например, 1 окружность и 5 квадратов), а хранишь ты все это в массиве. Обьявляешь массив ФИГУР и впихиваешь в него любые наследники этого класса. - Удобно. Используеться сплошь и рядом. Например, когда ты добавляешь контролы на фрейм. Метод add(Component) принимает в качестве параметра экземпляр класса Component, но ведь все контролы от него наследованы, а значит тоже могут быть добавлены. Это сообщение отредактировал(а) _shef_ - 12.7.2007, 17:14 |
|||
|
||||
| hamsterKSU |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 1 Всего: 11 |
ну наследование - это один из основной принцыпов ООП.
Добавлено через 1 минуту и 50 секунд ну смысл в том что ты в классе Instrument обявляешь некий интерфейс работы с этим классом и класс Wind ты можешь использовать также по этому интерфейсу т.к. он наследник Instrument |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
Wind наследуется от Instrument , так же как твои кнопки наследуются от JButton
|
|||
|
||||
![]()
|
| Правила форума "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. |