Точка 16 от Ефективна Java 2-ро издание, благодарение на композицията над наследството казва следното
"Ако суперкласът придобие нов метод в aпоследващо освобождаване и имате лошия късмет да дадете на подкласа метод със същия подпис и друг вид връщане, подкласът ви вече няма да се компилира.
Ако сте дали на подклас метод със същия тип подпис и връщане като нов метод свръхклас, тогава вече го превъзхождате "
Колко вероятно е тези случаи да възникнат в реалния свят? Може ли някой да ми даде пример от истинско приложение за бизнеса (ако е необходимо, премахване на информацията за него)?
Отговори:
3 за отговор № 1Това не е така вероятно този сценарий е. (Освен това съм сигурен, че сте чували Законът на Мърфи)
Става дума за факта, че композицията е много по-малко от обвързващ договор, отколкото наследство.
Наследството е много силен начин за обвързване на поведениетомежду класовете и основно точка 16 гласи, че трябва да използвате тази силна връзка само когато е ясно, че е необходимо. За всички други приложения, съставът трябва да бъде предпочитан.