Metoda wirtualna: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
MastiBot (dyskusja | edycje)
m robot dodaje: zh:虚函数; zmiany kosmetyczne
Linia 77:
Określa to, że metoda z klasy bazowej deklarująca '''metodę wirtualną''' nigdy nie powinna się wykonać. W efekcie klasa taka staje się [[klasa abstrakcyjna|klasą abstrakcyjną]]. Oznacza to tyle, iż nie jest możliwe stworzenie obiektu tej klasy. Klasa taka służy jedynie temu, by zdefiniować pewnego rodzaju interfejs i jest przeznaczona jedynie po to, by od niej dziedziczyć.
 
W przykładzie wyżej, o ile mogą istnieć figury będące kwadratami, kołami itp. to raczej nie powinienmoże istnieć żaden obiekt klasy <code>Figura</code>. <code>Figura</code> jest tutaj pewnym abstrakcyjnym określeniem, natomiast dziedziczenie po tej klasie i rozszerzeniu jej o inne elementy (dane i metody) powoduje, że mamy do czynienia już z konkretną figurą geometryczną. Metodę czysto wirtualną w języku C++ deklaruje się tak:
 
<source lang="cpp">