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

Dlaczego klasa abstrakcyjna nie może występować samodzielnie?
SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 72
0

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

pzdr

krzysiek050
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1272
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!

  • Rejestracja: dni
  • Ostatnio: dni
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

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
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 ;]
  • Rejestracja: dni
  • Ostatnio: dni
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.

SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 72
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.