Czytaj więcej"/> Drukuj
Dziedziczenie (ang. inheritance) to w programowaniu obiektowym operacja polegająca na stworzeniu nowej klasy na bazie klasy już istniejącej.
Na przykład, jeśli mamy klasę:
class Punkt
{
public:
  float x,y;

  Punkt(float _x, float _y);

  virtual void wypisz();

  virtual void przesuń(float przesuniecie_x, float przesuniecie_y);

};

Załóżmy, że w naszym programie wynikła potrzeba użycia dodatkowej klasy, która różni się od tej jedynie w kilku szczegółach. Dzięki dziedziczeniu nie musimy tworzyć takiej klasy od zera, a możemy zamiast tego wprowadzić jedynie konieczne modyfikacje do klasy już istniejącej.
Przykładowo chcemy, by nowa klasa miała dodatkowy składnik:
string nazwa;

a także odpowiednio zmieniona metodę wypisz.
Dziedziczona klasa może zostać zdefiniowana w następujący sposób:
class NazwanyPunkt: public Punkt
{
public:
  string nazwa;

  NazwanyPunkt(float _x=0,float _y=0,string _nazwa=NULL);

  virtual void wypisz();

};

W ten sposób powstała nowa klasa o nazwie NazwanyPunkt (klasa pochodna, podklasa, potomek) wywodząca się od klasy Punkt (klasa podstawowa, nadklasa, rodzic).
Bardzo ważna w naszej klasie pochodnej jest pierwsza linijka:
class NazwanyPunkt: public Punkt

Wyrażenie znajdujące się po dwukropku nazywa się listą pochodzenia. Informuje ona od czego wywodzi się klasa pochodna.
W klasie pochodnej możemy zdefiniować:
Materiał wydrukowany z portalu zgapa.pl dnia 2021-01-26 03:18:43