Powrót

Tworzenie klas i obiektów

1. Definiowanie klasy

Klasa jest 'przepisem' w którym jest zapisane jak utworzyć dany obiekt. Klasa jest pojęciem abstrakcyjnym, oznacza w programowaniu własny typ danych. Klasa składa się z atrybutów (właściwości) oraz funkcji (metod).

Właściwości i metody mogą mieć modyfikatory dostępu, które kontrolują, gdzie można uzyskać do nich dostęp.

Istnieją trzy modyfikatory dostępu:
public- do właściwości lub metody można uzyskać dostęp z dowolnego miejsca. To jest domyślne
protected - do właściwości lub metody można uzyskać dostęp w ramach klasy i klas pochodzących z tej klasy
private - do właściwości lub metody można uzyskać TYLKO w ramach klasy

Bezpiecznym rozwiazaniem jest by właściwości miały modyfikator dostępu chroniący je przed nieautoryzowaną zmianą wartości - czyli np. wartość private. Dla metod zaś ustawiamy modyfikator na wartość public. Definiowanie wartości atrybutów obiektu odbywa się poprzez metodę ustawiająca wartość właściwości.

                
				<?php
                
			//Utworzenie klasy zwierzę

				class zwierze{


						private $gatunek, $imie, $wiek; //właściwości

						//metoda ustawiająca wartość właściwości

						public function wpiszGatunek($arg1){

							//Słowo kluczowe '$this' odnosi się do bieżącego obiektu 
							//i jest dostępne tylko wewnątrz metod.

							$this -> gatunek = $arg1;
						}


						//metoda odczytujaca wartość właściwości

						public function pobierzGatunek(){

							return $this -> gatunek;
						}


						//metoda charakteryzująca zachowanie obiektu

						public function dajglos(){

							if($this -> gatunek == "kot"){
								echo "Miau!!!";
							}
							else if($this -> gatunek == "koza"){
								echo "meeeee!";
							}
							else if($this -> gatunek == "krowa"){
								echo "muuu!";
							}
						}


				}
					
				?>

                

               
        

2. Tworzenie obiektów

Na podstawie klasy, która jest 'przepisem' jak utworzyć obiekt, mogą być tworzone konkretne obiekty. Dany obiekt jest przedstawicielem, czyli reprezentantem danej klasy. Możemy stworzyć wiele obiektów z klasy. Każdy obiekt ma wszystkie właściwości i metody zdefiniowane w klasie, ale będą miały różne wartości właściwości. Obiekty klasy tworzone są za pomocą słowa kluczowego 'new'.

                

				<?php

				
				//Utworzenie obiektu kot
				$kot = new zwierze();

				$kot -> gatunek = "kot";

				echo $kot -> gatunek."<br>";
				echo $kot -> dajglos()."<br>";


				//Utworzenie obiektu koza
				$koza = new zwierze();

				$koza -> gatunek = "koza";

				echo $koza -> gatunek."<br>";
				echo $koza -> dajglos()."<br>";


				//Utworzenie obiektu krowa
				$krowa = new zwierze();

				$krowa -> gatunek = "krowa";

				echo $krowa -> gatunek."<br>";
				echo $krowa -> dajglos()."<br>";
				
				?>