PHP OOP: Základy objektového programování - třídy

04.04.2018 napsal Hanz (update: 17.09.2018)

PHP OOP: Základy objektového programování - třídy

Základní myšlenkou objektově orientovaného programování (OOP) je pohled na program jako na systém objektů = tzn. podobně jako vnímáme náš svět. V tomto článku se podíváme na definici a vytvoření třídy, atributů třídy, autoloader tříd a tři typy viditelnosti.


PHP OOP - co je to třída?


Třída (class) je v objektově orientovaném programování základním kamenem aplikace - seskupuje objekty se stejnými vlastnostmi. Třída neobsahuje konkrétní hodnoty - ty má až objekt. Jinak řečeno, jedná o šablonu/vzor objektu definující jaké vlastnosti a metody má každý z objektů této třídy. Atribut třídy je vlastnost, kterou mají všechny objekty dané třídy.

PHP OOP - jak vytvořit třídu?


Můžeme chtít vytvořit např. třídu Letadla, která bude mít veřejné (public) atributy třídy $oznaceni, $rychlost a $hmotnost - prakticky to znamená vytvoření souboru classes/Letadla.php s tímto obsahem:


class Letadla //třída letadla
{
public $oznaceni; //atribut třídy
public $rychlost; //atribut třídy
public $hmotnost; //atribut třídy
}


Třídu pak stačí pouze ručně includovat v daném PHP souboru.

PHP OOP - autoloader tříd


V budoucnu mohou naše aplikace obsahovat velké množství tříd a includování každé třídy zvlášť by bylo otravné, proto je vhodné použít v záhlaví tzv. autoloader tříd.

Funkce autoloader níže includuje automaticky všechny třídy v adresáři classes/*

function autoloader($class)
{
require("classes/$class.php");
}
spl_autoload_register("autoloader");


PHP OOP - co je viditelnost?


U atributů a metod se definuje ještě tzv. viditelnost (visibility), jsou tři typy:


  • public - k metodám a atributům lze přistupovat ze všech tříd

  • protected - k metodám a atributům může přistupovat jen daná třída a potomci

  • private - k metodám a atributům může přistupovat jen daná třída

Vaše reakce na článek PHP OOP: Základy objektového programování - třídy

Napsat komentář k článku

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace