Klasa abstrakcyjna w programowaniu obiektowym

Klasa abstrakcyjna - klasa dla której nie można utworzyć obiektu.


Klasa abstrakcyjna to taka klasa, dla której nie możemy utworzyć obiektu. Jest bardzo podobna do interfejsu z tą różnicą, że klasy mogą dziedziczyć po wielu interfejsach a tylko po jednej klasie. Klasa abstrakcyjna w odróżnieniu od interfejsu może zawierać ciało metody. Wyjątkiem są metody abstrakcyjne, które nie mogą zawierać swojego ciała. Najpopularniejszym przykładem obrazującym zastosowanie klasy abstrakcyjnej jest obliczanie pola powierzchni figur geometrycznych np. wielokątów.
Tworzymy klasę abstrakcyjną wielokąt a w niej metodę abstrakcyjną ObliczPole() i 2 pola dla długości boków. Dla każdego rodzaju figury tworzymy klasę dziedziczącą po klasie abstrakcyjnej, dodajemy pola, których brakuje w klasie bazowej, czyli np. gdy wielokąt ma 5 boków musimy dodać 3 pola i zaimplementować metodę ObliczPole() dla tego konkretnego przypadku czyli dla pięciokąta. Podobnie postępujemy dla innych wielokątów, w każdym przypadku implementujemy inna metodę ObliczPole().

Więcej na temat klas abstrakcyjnych:

http://msdn.microsoft.com/pl-pl/library/ms173150.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):