PHP OOP: Základy objektového programování – metody [3]

PHP OOP: Základy objektového programování – metody [3]

Aby seriál o objektově orientovaném programování v PHP dával nějaký smysl, tak je třeba logicky tento díl věnovat metodám a vysvětlení pseudo proměnné $this se šipkou...

PHP OOP - co je to metoda?


Metoda (function) představuje v objektově orientovaném programování funkce daného objektu a určuje jeho chování. Prakticky se k metodám přístupuje přes danou třídu a ve formátu $objekt->metoda($pa­rametry).

PHP OOP - co je to $this?


V objektově orientovaném programování v PHP je $this referencí k volanému (aktuálnímu) objektu, jedná se o tzv. pseudo proměnnou. Proměnná $this je dostupná když je metoda volána mezi objektovým kontextem.

PHP OOP - jak vytvořit metodu?

 

Příklad na třídě Zelenina


Uvedeme si opět rychlý příklad na okurce (objekt třídy Zelenina), který řekne více = vytvoříme metodu cenaOkurky, která vypočítá cenu prostým znásobením hmotnosti cenou.


class Zelenina //třída zelenina
{
public $hmotnost;
public $cena;

public function cenaOkurky()
{
$cena = $this->hmotnost * $this->cena;
echo $cena;
return $cena;
}
}



Pro výpočet je tedy třeba vytvořit nový objekt $okurka třídy Zelenina a nastavit mu atributy $hmotnost a $cena.

 
$okurka = new Zelenina();
$okurka->hmotnost = 500;
$okurka->cena = 0.02;
$okurka->cenaOkurky();



Když toto všechno uložíme, tak PHP skript vrátí, že cena okurky je 10 Kč.

PS: V klasickém procedurálním programování byste patrně vytvořili funkci function cenaOkurky($hmotnost,$cena) a dosadili přes proměnné hodnoty = vidíte ten rozdíl?

Příklad na třídě Letadla



Ve druhém příkladu si vytvoříme ve třídě Letadla jednoduchou metodu dobaLetu() pro výpočet doby letu na danou vzdálenost.


class Letadla //třída Letadla
{
public $oznaceni;
public $rychlost;
public $vzdalenost;

public function dobaLetu()
{
$doba = $this->vzdalenost / $this->rychlost;
echo 'Stroj ' . $this->oznaceni . ' ulétne ' . $this->vzdalenost . ' km za ' . $doba . ' hodin.';
return $doba;
}

}



Pro získání doby letu stačí novému objektu $stihacka třídy Letadla nastavit atributy = $oznaceni, $rychlost a $vzdalenost.

 
$stihacka = new Letadla();
$stihacka->oznaceni = 'F-16';
$stihacka->rychlost = 2124;
$stihacka->vzdalenost = 40003;
$stihacka->dobaLetu();



Výstupem z tohoto PHP skriptu bude:
"Stroj F-16 ulétne 40003 km za 18.833804143126 hodin"





Související obsah

serial-php-oop

php

programovani

vyvoj

php-oop

Komentáře

Vaše reakce na PHP OOP: Základy objektového programování – metody [3]

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.