Cytat

" Prawdziwym niebezpieczeństwem nie jest to, że komputery zaczną myśleć jak ludzie ale to, że ludzie zaczną myśleć jak komputery" - S. J. Harris

piątek, 12 stycznia 2024

Klasy w języku C++

Klasy w C++ to bardzo ważne narzędzie w programowaniu obiektowym. Klasa grupuje zmienne i funkcje w jedną całość, tworząc nowy typ danych. Zastosowanie klas w rozbudowanych programach znacznie porządkuje ich strukturę. 

Klasa w C++ jest bardzo podobna do struktury. Właściwie istnieją między nimi tylko dwie różnice: inne słowo kluczowe podczas deklaracji oraz domyślny dostęp do składników.

W strukturze wszystkie jej składniki są domyślnie publiczne, tzn. można się do nich odwołać z poza ciała struktury. W klasach wszystkie składniki są domyślnie prywatne, chyba że programista będzie chciał inaczej.

Klasy tworzy się używając słowa kluczowego class, nazwy klasy oraz ciała klasy zawartego w klamrach. Tak wygląda schemat budowy klasy:


Idea używania klas polega na tym, że możemy utworzyć klasę, która będzie określała dowolny obiekt, w obrębie którego możemy umieścić zmienne i/lub funkcje. Składniki klasy to pola metodyPola to zmienne, a metody to funkcje, które operują na tych zmiennych.

Oto przykład klasy o nazwie osoba:


W powyższej klasie znajduje się 6 pól, w których deklarujemy zmienne podając ich typ i nazwę oraz dwie metody: WypiszImie, WypiszPesel.

Definiując dostęp do składników klasy używamy 3 słów kluczowych:
  • public - dostęp do składników klasy jest dozwolony wszędzie, nawet z poza ciała klasy
  • private - dostęp do składników klasy jest zabroniony z poza ciała klasy
  • protected - dostęp do składników klasy jest dozwolony tylko z ciała klasy (tak jak private) oraz w klasach pochodnych naszej klasy bazowej

Aby zastosować operatory dostępu, po prostu poprzedzamy nimi odpowiednie składniki:



Operatory dostępu służą jedynie do projektowania klas zgodnych z pewnymi założeniami programisty. Generalna zasada jest taka, że ważne dla klasy pola powinny być prywatne. 

Za niedługo drugi pojawi się post w którym opiszę w jaki sposób tworzymy obiekty klas..


Brak komentarzy:

Prześlij komentarz