- Dlaczego powinniśmy unikać dziedzictwa?
- Kiedy nie należy używać wzorów projektowych?
- Dlaczego powinniśmy unikać wielu dziedziczeń?
- Jakie są ograniczenia dziedziczenia?
Dlaczego powinniśmy unikać dziedzictwa?
Dziedziczenie tworzy zależność między dzieckiem a rodzicem, gdy klasa odziedziczy inną klasę, uwzględniamy wszystkie metody i atrybuty z klasy nadrzędnej i narażamy na klasę dziecięce, dlatego łamiemy enkapsulacja, obiekt dziecięcy może uzyskać dostęp do wszystkich metod w obiekcie nadrzędnym i zastąpienie ich.
Kiedy nie należy używać wzorów projektowych?
W jakich scenariuszach nie powinniśmy używać wzorów projektowych ? Kiedy oprogramowanie jest projektowane i nie zmieniłoby się z czasem i nowymi wymaganiami. Gdy wymagania kodu źródłowego określonej aplikacji są unikalne i takie same.
Dlaczego powinniśmy unikać wielu dziedziczeń?
Powodem tego jest zapobieganie dwuznaczności. Rozważ przypadek, w którym klasa B rozszerza klasę A i klasę C, a zarówno klasa A, jak i C mają tę samą metodę Display (). Teraz kompilator Java nie może zdecydować, która metoda wyświetlania powinna odziedziczyć. Aby zapobiec takiej sytuacji, w Javie nie jest dozwolone wiele dziedziczeń.
Jakie są ograniczenia dziedziczenia?
Główną wadą stosowania dziedziczenia jest to, że dwie klasy (klasa bazowa i odziedziczona) są ściśle sprzężone. Oznacza to, że nie można użyć od siebie niezależnych. Jeśli metoda zostanie usunięta w „super klasie” lub agregatach, będziemy musieli ponownie faktor w przypadku użycia tej metody.