Wstęp do programowania obiektowego w C++
W poprzednich artykułach z kategorii „C++” omawiałem programy, które składały się z funkcji main
, a w niektórych przypadkach również z innych funkcji zdefiniowanych przez programistę (np. do obliczania sumy). Takie rozwiązanie miało swoje wady i zalety, ale jak pewnie ambitne osoby zdążyły się zorientować, tego typu schemat pracy nie nadaje się do tworzenia dużych systemów informatycznych składających się z tysięcy linii kodu.
Pisząc programy komputerowe bez używania klas w końcu dochodzimy „do sufitu” orientując się, że dopisywanie kolejnych linijek w mainie
, który zaczął rozrastać się do niebotycznych rozmiarów po prostu mija się z celem. Aby tworzenie aplikacji było łatwiejsze i bardziej intuicyjne wprowadzono coś takiego jak programowanie zorientowane obiektowo.
Pierwsza klasa
Siedząc przy biurku otacza nas bardzo wiele różnych przedmiotów takich jak, klawiatura, myszka, komputer, monitor czy po prostu długopis. W programowaniu każda taka, rzecz to obiekt czyli klasa. Pisząc zwykłe programy w C++, też używamy obiektów na przykład klasy int
, każda zmienna typu całkowitego to przecież taki obiekt:
int obiektKlasyInt; //tworzymy obiekt klasy int obiektKlasyInt = 10;
Czym więc są klasy? To nic innego jak obiekty, jakiś rzeczywisty bądź abstrakcyjny byt (długopis, krzesło, stół, książka itd.).
To na razie tyle z teorii, teraz przejdźmy do praktyki. Składnia klasy w C++ prezentuje się tak:
class NazwaKlasy { };
Gdzie NazwaKlasy
to po prostu nazwa naszego obiektu jak okno, biurko itd. Bardziej ogólny kod z funkcją main
:
#include <iostream> using namespace std; class NaszaPierwszaKlasa { }; int main() { return 0; }
Długopis jest pewnym obiektem, który służy do pisania na kartce papieru bądź w zeszycie dla naszych potrzeb kartką będzie ekran komputera. Skoro więc jest to obiekt i to jeszcze taki, który występuje w fizycznej formie to możemy stworzyć sobie klasę długopis:
#include <iostream> using namespace std; class Dlugopis { }; int main() { return 0; }
Mając klasę Dlugopis
(na razie jeszcze nic ona nie robi) stwórzmy w funkcji main
obiekt tej klasy:
Dlugopis dlugopis1; //tworzenie obiektu klasy Dlugopis
Cały kod:
#include <iostream> using namespace std; class Dlugopis { }; int main() { Dlugopis dlugopis1; return 0; }
A propo nazw klas to w programowaniu przyjęło się, że pisze się je z dużej litery.