232 Godzina 16
Taksonomia wprowadza hierarchię typu Jeść...”albo „należy do...”. Pies jest drapieżnikiem. Wszędzie możemy dostrzec tego typu relacje. Toyota jest samochodem, który jest z kolei rodzajem pojazdu. Lody są deserem który z kolei jest rodzajem pożywienia.
Co właściwie mamy na myśli, kiedy mówimy że coś jest „rodzajem czegoś’? Otóż najczęściej chodzi nam o to, że jedna rzecz jest szczególnym przypadkiem innej rzeczy (bardziej ogólnej). Samochód jest pojazdem. Samochody i autobusy to pojazdy; każdy z nich ma swoje cechy charakterystyczne, świadczące o ich „samochodowości” lub „autobusowości”. Jednak po uogólnieniu, że są pojazdami stają się identyczne i dominująca staje się ich „pojazdowość”.
Każdy pies dziedziczy ze ssaka wszystkie jego cechy. Możemy powiedzieć, że ponieważ jest ssakiem to umie się poruszać, oddycha powietrzem itp. Jednak pojęcie pies dodaje do definicji ssaka możliwość szczekania, machania ogonem itp. Pojęcie pies jest specjalistyczne natomiast ssak ogólne.
Możemy posunąć się dalej i podzielić psy na myśliwskie i terriery. Terriery możemy z kolei podzielić na Yorkshire, Dandie itp.
Yorkshire Terrier jest rodzajem terriera; jest również psem, ssakiem, zwierzęciem i w końcu żywym stworzeniem. Rysunek 16.1 pokazuje tę hierarchię.
C++ pozwala na reprezentowanie takich relacji poprzez definiowanie klas pochodzących od innych klas. Pochodzenie jest metoda wyrażania relacji Jest...”. Możesz stworzyć klasę Pies jako pochodną klasy Ssak. Nie musisz jawnie określać, że Pies potrafi się poruszać, gdyż ta cecha zostanie odziedziczona z klasy Ssak. Klasa Pies, poprzez dziedziczenie z klasy Ssak, automatycznie posiada umiejętność „poruszania się”.
Klasa, która wprowadza nowe funkcje do już istniejącej klasy, nazywana jest pochodną klasy oryginalnej. Klasa oryginalna nazywana jest klasą bazową.
Jeśli klasa Pies jest pochodną klasy Ssak, to klasa Ssak jest klasą bazową klasy Pies. Klasy pochodne są nadzbiorami ich klas bazowych. Tak jak pies posiada dodatkowe umiejętności w stosunku do statystycznego ssaka, tak i klasa Pies dodaje nowe metody i dane do klasy Ssak.
Zazwyczaj, każda klasa bazowa, ma więcej niż jedna klasę pochodną. Tak jak psy, koty i konie są ssakami, tak samo ich klasy będą pochodnymi klasy Ssak.
\
Taksonomia wprowadza hierarchię typu Jest..."albo „należy do...". Pies jest drapieżnikiem. Wszędzie możemy dostrzec tego typu relacje. Toyota jest samochodem, który jest z kolei rodzajem pojazdu. Lody są deserem który z kolei jest rodzajem pożywienia.
Co właściwie mamy na myśli, kiedy mówimy że coś jest „rodzajem czegoś”? Otóż najczęściej chodzi nam o to, że jedna rzecz jest szczególnym przypadkiem innej rzeczy (bardziej ogólnej). Samochód jest pojazdem. Samochody i autobusy to pojazdy; każdy z nich ma swoje cechy charakterystyczne, świadczące o ich „samochodowości” lub „autobusowości”. Jednak po uogólnieniu, że są pojazdami stają się identyczne i dominująca staje się ich „pojazdowość".
Każdy pies dziedziczy ze ssaka wszystkie jego cechy. Możemy powiedzieć, że ponieważ jest ssakiem to umie się poruszać, oddycha powietrzem itp. Jednak pojęcie pies dodaje do definicji ssaka możliwość szczekania, machania ogonem itp. Pojęcie pies jest specjalistyczne natomiast ssak ogólne.
Możemy posunąć się dalej i podzielić psy na myśliwskie i terriery. Terriery możemy z kolei podzielić na Yorkshire, Dandie itp.
Yorkshire Terrier jest rodzajem terriera; jest również psem, ssakiem, zwierzęciem i w końcu żywym stworzeniem. Rysunek 16.1 pokazuje tę hierarchię.
C++ pozwala na reprezentowanie takich relacji poprzez definiowanie klas pochodzących od innych klas. Pochodzenie jest metoda wyrażania relacji Jest...". Możesz stworzyć klasę Pies jako pochodną klasy Ssak. Nie musisz jawnie określać, że Pies potrafi się poruszać, gdyż ta cecha zostanie odziedziczona z klasy Ssak. Klasa Pies, poprzez dziedziczenie z klasy Ssak, automatycznie posiada umiejętność „poruszania się”.
Klasa, która wprowadza nowe funkcje do już istniejącej klasy, nazywana jest pochodną klasy oryginalnej. Klasa oryginalna nazywana jest klasą bazową.
Jeśli klasa Pies jest pochodną klasy Ssak. to klasa Ssak jest klasą bazową klasy Pies. Klasy pochodne są nadzbiorami ich klas bazowych. Tak jak pies posiada dodatkowe umiejętności w stosunku do statystycznego ssaka, tak i klasa Pies dodaje nowe metody i dane do klasy Ssak.
Zazwyczaj, każda klasa bazowa, ma więcej niż jedna klasę pochodną. Tak jak psy, koty i konie są ssakami, tak samo ich klasy będą pochodnymi klasy Ssak.