Wprowadzenie do programowania obiektowego

kagopro.pl 2 lat temu

Na czym polega programowanie obiektowe ?

Programowanie obiektowe polega na opisywaniu świata rzeczywistego przy użyciu obiektów.

Załóżmy, iż mamy za zadanie napisać program zawierający informacje dotyczące uczniów w pewnym mieście.

Wybierzmy sobie trzech uczniów, każdy ma pewne cechy indywidualne: imię, nazwisko, wzrost, waga, wiek, ulubiony przedmiot, chodzi do określonej szkoły. Każdy może wykonywać pewne czynności np. uczeń może się przedstawić. Zobaczmy to na schemacie poniżej:

Każdy z tych uczniów w świecie programowania będzie osobnym obiektem. Mamy więc trzy obiekty: Uczeń 1, Uczeń 2, Uczeń 3. Każdy z uczniów posiada: imię, nazwisko, wzrost, waga, wiek, ulubiony przedmiot, chodzi do określonej szkoły i może się też przedstawić.

Np.
Uczeń 1 powie: „Mam na imię Roksana, mam 12 lat”
Uczeń 2 powie: „Jestem Julian Kowalski, mam 11 lat”

Cechy i zachowania (czynności), które mają te obiekty, są wspólne i możemy je pogrupować w jeden szablon. Taki szablon nazywamy klasą.

Klasa dla naszych obiektów: Uczeń 1, Uczeń 2, Uczeń 3 będzie wyglądać następująco:

Możemy zatem powiedzieć, iż klasa to zestaw pewnych cech (właściwości) i czynności (funkcji) opisujących obiekty.

Programowanie obiektowe: obiekt i klasa

Obiektem w świecie rzeczywistym może być konkretny przedmiot, osoba, zwierzę, zjawisko, które posiada własne cechy, i może wykonywać pewne czynności np. Opel Astra 4 z silnikiem diesla, telefon komórkowy Samsung Galaxy S6, student Jan Kowalczyk, uczennica Maria Szymańska, kot o imieniu Stefan itp.

Klasą zaś w świecie rzeczywistym jest odpowiednio: samochód, telefon komórkowy, student, uczeń, kot.

Programowanie obiektowe: dziedziczenie

Wróćmy teraz do naszej klasy Uczeń. Stwórzmy kolejną klasę o nazwie Student. Mamy zatem dwie klasy przedstawione na schemacie poniżej:

Obie te klasy mają cechy i czynności wspólne. Są to cechy: imię, nazwisko, wzrost, waga, wiek i czynność: przedstaw się.

Każda z tych klas ma swoje cechy indywidualne. Klasa Uczeń posiada adekwatności: ulubiony przedmiot i szkoła, a klasa Student adekwatności: kierunek studiów i uczelnia.

Zauważmy, iż cechy takie jak imię, nazwisko, wzrost, waga, wiek nie dotyczą tylko ucznia, czy studenta, ale określają wszystkie osoby. Cechy te możemy zapisać w postaci jednej wspólnej klasy o nazwie Osoba.

Załóżmy, iż w naszym programie, chcemy stworzyć więcej obiektów, nie tylko klasy Uczeń i Student, ale i Taksówkarz, Programista czy Malarz. Definiując te klasy, zamiast w każdej z nich pisać wiele razy te same cechy i czynności, możemy skorzystać z klasy Osoba (odziedziczyć po niej wspólne składniki) i dopisać w każdej z klas jedynie składniki wyróżniające je. Możemy to zobaczyć na poniższym schemacie

Klasa, po której dziedziczymy składniki, nazywamy klasą bazową. A klasy, które dziedziczą po klasie bazowej, nazywamy klasami pochodnymi.

Podsumowanie

Programowanie obiektowe nie jest takie skomplikowane, jak się początkowo wydaje. Najtrudniejsze jest zrozumienie czym jest klasa i obiekt oraz na czym polega dziedziczenie. Ten krok mamy już za sobą. Możemy teraz przejść do poznawania zasad tworzenia klas i obiektów w konkretnym języku programowania.

Artykuł ten powstał na podstawie jednego z rozdziałów z książki do nauki programowania: Elementarz młodego programisty Język C++.

W kolejnych rozdziałach pokazane jest, jak definiować klasy, tworzyć obiekty, korzystać z dziedziczenia przy użyciu języka programowania C++.
Idź do oryginalnego materiału