Статус: Офлайн
Реєстрація: 26.07.2010
Повідом.: 52
Реєстрація: 26.07.2010
Повідом.: 52
принцип постановки (полиморфизм) на пальцах
Привет.
Ребята, читаю 7-е издание Java 2 Библиотека профессионала. Основы.
страница 201.
Не могу понять (вникнуть) предложение: объект подкласса можно использовать вместо любого объекта суперкласса.
Пример который приводится ниже строчкой для меня полностью понятен. Подкласс Manager ЯВЛЯЕТСЯ (принадлежит) суперклассу Employee. Т.е. подкласс содержит в себе все члены суперкласса Employee.
Можно какой-то пример? Честно, не очень понял, что такое полиморфизм (я новичок). Понял только:
1) переопределение методов (или замещение методов)
2) переменная суперкласа может ссылаться на объекты суперкласса и на объекты любых объектов подклассов:
Manager manager = new Manager(...);
EmployeeManager[] employee = new EmployeeManager(3);
employee[0] = manager;
employee[1] = new EmployeeManager(...);
3) Объект подкласса можно присвоить переменной суперкласса.
EmployeeManager employee = new Manager(...);
в этом случае нельзя будет использовать методы подкласса Manager, т.к. суперкласс не имеет метода setBonus();
Все три пункта понимаю, но с одним предложением никак не могу разобраться. Можно разжевать?
Привет.
Ребята, читаю 7-е издание Java 2 Библиотека профессионала. Основы.
страница 201.
Не могу понять (вникнуть) предложение: объект подкласса можно использовать вместо любого объекта суперкласса.
Пример который приводится ниже строчкой для меня полностью понятен. Подкласс Manager ЯВЛЯЕТСЯ (принадлежит) суперклассу Employee. Т.е. подкласс содержит в себе все члены суперкласса Employee.
Можно какой-то пример? Честно, не очень понял, что такое полиморфизм (я новичок). Понял только:
1) переопределение методов (или замещение методов)
2) переменная суперкласа может ссылаться на объекты суперкласса и на объекты любых объектов подклассов:
Manager manager = new Manager(...);
EmployeeManager[] employee = new EmployeeManager(3);
employee[0] = manager;
employee[1] = new EmployeeManager(...);
3) Объект подкласса можно присвоить переменной суперкласса.
EmployeeManager employee = new Manager(...);
Все три пункта понимаю, но с одним предложением никак не могу разобраться. Можно разжевать?

Вкладення
Останнє редагування:
Небось ждет когда Израиль 6500 предложит.