Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приведение к базовому типу, что это и для чего? 
:(
    Опции темы
IUser
Дата 12.7.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
  }
} ///:~
PM MAIL   Вверх
_shef_
Дата 12.7.2007, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 8.6.2007

Репутация: нет
Всего: 1



А где приведение?
Оно конечно есть, но не явное.
В чем вопрос собственно?

Кажись вьехал.
Классический пример:
Есть класс ФИГУРА
от него наследуем КВАДРАТ, ТРЕУГОЛЬНИК, ОКРУЖНОСТЬ

Допустим тебе надо иметь 2 квадрата и 4 треугольника, но этот набор экземпляров в любой момент может измениться(например, 1 окружность и 5 квадратов), а хранишь ты все это в массиве.

Обьявляешь массив ФИГУР и впихиваешь в него любые наследники этого класса. - Удобно.

Используеться сплошь и рядом. Например, когда ты добавляешь контролы на фрейм. Метод add(Component) принимает в качестве параметра экземпляр класса Component, но ведь все контролы от него наследованы, а значит тоже могут быть добавлены.

Это сообщение отредактировал(а) _shef_ - 12.7.2007, 17:14
PM MAIL WWW   Вверх
hamsterKSU
Дата 12.7.2007, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: 1
Всего: 11



ну наследование - это один из основной принцыпов ООП.

Добавлено через 1 минуту и 50 секунд
ну смысл в том что ты в классе Instrument обявляешь некий интерфейс работы с этим классом и класс Wind ты можешь использовать также по этому интерфейсу т.к. он наследник Instrument
PM MAIL ICQ   Вверх
dorogoyIV
Дата 12.7.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



Wind наследуется от Instrument , так же как твои кнопки наследуются от JButton
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.