Wytłumaczy mi ktoś na PROSTYM przykładzie "z życie wziętym" klasy i obiekty w C++ i może jakis mały kodzik? Dzięki za pomoc
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Podam bez kodów, ale za to przykłąd z życia wzięty ;)
Mamy abstrakcyjną klasę (lub interfejs...; w jednym i drugim przypadku deklarujemy po prostu metody i pola, ale nie tworzymy ich fizycznie; po prostu określamy, że taka a taka metoda ma istnieć, jeżeli dziedziczymy po tej klasie) TCzłowiek; zawiera ona trzy pola:
-wzrost
-wiek
-kolor włosów
I jedną metodę wirtualną:
-Podskocz()
Mamy teraz klasę TMężczyzna, która dziedziczy po TCzłowiek.
Jeżeli dziedziczy, to musi implementować ona wszystkie metody wirtualne zawierające się w klasie z której dziedziczymy. Jednocześnie, dziedzicząc klasy TCzłowiek, nasza klasa automatycznie zawiera także jego pola (wzrost, wiek, kolor włosów).
Czyli nasza klasa TMężczyzna posiada pola:
-wzrost
-wiek
-kolor włosów
Oraz metody:
-Podskocz()
W porównaniu do klasy TCzłowiek, w klasie TMężczyzna metoda Podskocz() nie jest już metodą wirtualną; czyli musimy ją zaimplementować, np:
Podskocz()
{
skok(10 centrymetrów)
}
Jednocześnie nic nie stoi na przeszkodzie, aby do klasy TMężczyzna dodawać własne metody i pola.
A obiekt to zmienna, która jest klasą.
Może trochę zamotane to; deklaracja wygląda mniej-więcej tak (w C++):
TCzłowiek men = new TMężczyzna(parametry konstruktora);
W tym wypadku 'men' będzie obiektem.
---
To oczywiście w skrócie; nie można wszystkiego tak prosto wyjaśnić.
Może to Ci trochę pomoże (jest to poradnik dla Delphi, ale chodzi o same przykłady tam podane):
http://4programmers.net/Delphi/OOP