programowanie obiektowe

2 Lekcja programowania obiektowego, klasa i zmienne

Dzisiaj zajmiemy się tematem, jakim w programowaniu obiektowym jest klasa. W poprzedniej lekcji klasą nazwałem plan, według którego powstanie obiekt. Obiekt ten, chociaż z zewnątrz wyglądał będzie jak zmienna, to w jego środku, znajdować się będą zmienne i funkcje. Uczyć będziemy się na klasie Post, którą opisałem wcześniej.

No to będzie się działo! Coś mi mówi że za tydzień, będziesz rzucał obiektami na prawo i lewo, zastanawiając się czy wiedzę tą, można jakoś wykorzystać, podczas rozwieszania prania na balkonie, gdyż te obiekty są takie fajne 🙂

Czas na konkrety…

Tworzenie klasy jest proste. Piszemy sobie słówko class później nazwę klasy, czyli np. Post a następnie, otwierasz i zamykasz kod klasy klamrami. Deklaracja klasy jest podobna do deklaracji funkcji, jednak nie mamy tutaj nawiasów po nazwie. Wynika to z tego, że bezpośrednio do klasy wkładać nic nie będziemy tak jak funkcji.

Wyglądać to będzie tak:

<?php

class Post{

//a tutaj będzie treść

}

?>

Mówiliśmy, że nasz post składał się będzie ze zmiennych $nazwa, $tresc i $autor. W klasie utworzymy je jako zmienne prywatne. Będą miały do nich dostęp, tylko funkcje klasy. Czyli jeśli utworzymy nowy post (czyli obiekt), według tej klasy, to jedyną możliwością edycji zmiennych tego obiektu, będzie użycie jednej z funkcji. Taką funkcją może być np. $mojPost->ustawAutora('autor777').  Napiszmy to:

class Post{

private $nazwa;
private $tresc;
private $autor;

}

Jak widać wyżej, słówko private, załatwiło sprawę. Zmienne będą dostępne tylko dla funkcji klasy. Możemy je też ustawić jako public, czyli publiczne albo protected – chronione. Użycie private, jest najbardziej zalecane i wygląda dobrze.

Na początku, gdy nie miałeś jeszcze dłuższej styczności z programowaniem, zalecam abyś budował klasy, w oparciu właśnie o zmienne prywatne. Nauczy Cię to dobrych nawyków.

Wspomniałem o zmiennych publicznych i chronionych. Zmienna publiczna to taka, do której mamy dostęp bez użycia funkcji. Bierzemy obiekt, piszemy strzałkę, potem nazwę zmiennej i ustawiamy jej wartość.

$mojPost->autor = 'Anastazja';

To w takim razie, czemu mam używać funkcji do nadawania wartości, jeśli tak jest łatwiej?

W tym wypadku nie można np. sprawdzić tego, czy nazwa autora, trafiająca do obiektu np. $mojPost jest poprawna. W funkcji ustawiającej autora możemy np. ustawić minimalną długość nazwy. Możemy też zmienić pierwszą literę na dużą.

Pisząc np. klasę która obsługuje przelewy,  lepiej abyś miał 100% pewność, że do zmiennej $numerKonta obiektu $przelew123, trafi poprawna wartość.

Kod, który napisałeś obecnie, działał będzie dopiero gdy w następnej lekcji, dodamy do niego funkcje. Nie wszystko na raz 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *