Статус:
Offline
Реєстрація: 14.06.2007
Повідом.: 13473
Реєстрація: 14.06.2007
Повідом.: 13473
- 🟢 01:26 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
- #21
2) объект подкласса можно использовать вместо любого объекта суперкласса называется принцип постановки.
например: Объект подкласса Manager можно присвоить переменной суперкласса
Employee e;
e = new Employee(...);
e = new Manager(...)*
можно вообще вот так:
Код:
Object obj;
obj = new Employee(...);
obj = new Manager(...)*
а суть заключается в том что ты можешь вызвать у объекта находящегося в переменной obj метод equals, т.к. этот метод описан в классе Object, от которого наследуются и Employee и Manager. При этом то, какой код будет выполнен будет зависеть от того какой именно объект находится в переменной.
Код:
Object obj;
obj = new Employee(...);
obj.equals(aaa); // отработает метод Employee.equals
obj = new Manager(...)*
obj.equals(aaa); // отработает метод Manager.equals
Если ты не перегружал equals в Employee и Manager, то будет вызван код, определенный в Object.equals. А если перегрузил, то будет вызван перегруженный тобой метод. Это и есть полиморфизм.