Dlaczego klasa abstrakcyjna nie może występować samodzielnie?

0

Dlaczego klasa abstrakcyjna nie może występować samodzielnie?
Szukam jasnej odpowiedzi najlepiej podpartej przykładem bo nikumajet ;]

pzdr

4

Rozumiem że chodzi o instancję :). Mniej więcej z takiego samego powodu z jakiego nie możesz pojechać samochodem bez kół na wakacje. Kierownica, pedały i drążek zmiany biegów wprawdzie jest (interfejs), ale jednak sporej części brakuje. A w programowaniu niekompletnym klasom mówimy stanowcze nie!

2

bo takie jest założenie klasy abstrakcyjnej - to abstrakcja, wspólny szablon dla klas właściwych - sam w sobie nie jest kompletny, musisz z niego dziedziczyć i zaimplementować brakujące funkcje abstract - bez nich klasa jest niekompletna

2
  1. Klasy Abstrakcyjne
  2. Wyobraź sobie że masz klasę abstrakcyjną "Kolejka" i dziedziczące z niej "KolejkaNaLiście" i "KolejkaNaTablicy". Sama Kolejka nie definuje w jaki sposób przechowywać elementy, wiec siłą rzeczy nie jest ich w stanie przechowywać. W efekcie próba dodania czegoś do tej Kolejki skończyłaby się wysypaniem programu. Co wiecej, istnienie obiektu takiej klasy nie miałoby sensu bo nie mogłaby ona spełniać żadnej sensownej roli ;]
1

Inny przykład:

Klasa oznaczająca figurę - Shape. Sama klasa powiedzmy, że powinna mieć metodę do obliczania pola i obwodu figury. Niestety ze względu, że nie wiemy o którą figurę chodzi nie wiemy jak obliczyć pole, a tym samym obwód. Dopiero dziedzicząc z klasy Shape możemy wyprowadzić konkretne klasy i dla każdej z tych klas zdefiniować odpowiedni wzór do liczenia pola i obwodu.

0

Pytałam dość ogólnie, ale po przeczytaniu artykułu dot. CSS
http://www.kurshtml.edu.pl/css/css_zorientowane_obiektowo,dobre_praktyki.html#klasa_abstrakcyjna

1 użytkowników online, w tym zalogowanych: 0, gości: 1