PHP
-
Definice a instance
-
Funkce
-
Konstruktory
-
Dědičnost
-
Úkol
1.
Definice a instance
Příklad definice třídy:
class CStudent {
var $prijmeni, $jmeno;
var $rocnik = 4, $skupina, $kat_cislo;
}
Příklad instance:
$student = new CStudent; //$student je instancí třídy CStudent
přístup k proměnným objektu
$student
: (ročník jsme inicializovali již při definici)
$student->jmeno = "Jára";
$student->prijmeni = "Cimrman";
$student->skupina = "H";
$student->kat_cislo = 13;
2.
Funkce
Příklad:
class CStudent {
var $prijmeni, $jmeno;
var $rocnik = 4, $skupina, $kat_cislo;
function Tisk () {
echo $this->prijmeni." ".$this->jmeno." ze ".$this->rocnik." ".$this->skupina;
}
}
Příklad volání funkce:
$student = new CStudent;
$student->jmeno = "Jára";
$student->prijmeni = "Cimrman";
$student->skupina = "H";
$student->kat_cislo = 13;
//zavoláme funkci
$student->Tisk();
Příklad funkce s parametrem:
class CStudent {
var $prijmeni, $jmeno;
var $rocnik, $skupina, $kat_cislo;
function __construct($prijmeni, $jmeno, $rocnik, $skupina, $kat_cislo) {
$this->prijmeni = $prijmeni;
$this->jmeno = $jmeno;
$this->rocnik = $rocnik;
$this->skupina = $skupina;
$this->kat_cislo = $kat_cislo;
}
function Tisk ($jedenradek = true) {
if ($jedenradek == true) {
echo $this->prijmeni." ".$this->jmeno." ze ".$this->rocnik." ".$this->skupina."<br>\r\n";;
} else {
echo $this->rocnik." ".$this->skupina."<br>\r\n";
echo $this->prijmeni." ".$this->jmeno."<br>\r\n";
}
}
}
3.
Konstruktory
Konstruktor je metoda se jménem __construct() (dříve stejný název jako třída). Pomocí konstruktoru můžeme například ihned po vytvoření instance inicializovat hodnoty.
class CStudent {
var $prijmeni, $jmeno;
var $rocnik, $skupina, $kat_cislo;
function __construct($prijmeni, $jmeno, $rocnik, $skupina, $kat_cislo) {
$this->prijmeni = $prijmeni;
$this->jmeno = $jmeno;
$this->rocnik = $rocnik;
$this->skupina = $skupina;
$this->kat_cislo = $kat_cislo;
}
function Tisk ($jedenradek = true) {
if ($jedenradek == true) {
echo $this->prijmeni." ".$this->jmeno." ze ".$this->rocnik." ".$this->skupina."<br>\r\n";;
} else {
echo $this->rocnik." ".$this->skupina."<br>\r\n";
echo $this->prijmeni." ".$this->jmeno."<br>\r\n";
}
}
}
Ukázka:
Klik
$student1 = new CStudent("Cimrman", "Jára", 4, "H", 13);
$student1->Tisk(true);
$student2 = new CStudent("Carda", "Retarda", 4, "G", 13);
$student2->Tisk(false);
4.
Dědičnost
Můžeme vytvořit novou třídu, která zdědí proměnné a funkce výchozí třídy.
Příklad:
class CMaturant extends CStudent {
var $zmaturuje;
function maturita() {
if (rand (1, 10) < 6) {
echo $this->prijmeni." ".$this->jmeno." zmaturuje ";
$this->zmaturuje = true;
} else {
echo $this->prijmeni." ".$this->jmeno." nezmaturuje ";
$this->zmaturuje = false;
}
}
}
Ukázka:
Klik
$student1 = new CMaturant("Cimrman", "Jára", 4, "H", 13);
$student1->maturita();
$student2 = new CMaturant("Carda", "Retarda", 4, "G", 13);
$student2->maturita();
5.
Úkol
- Napište skript PHP, který vypočíta BMI index a použijte objekt, vhodné proměnné a funkci na výpočet indexu.
- Zde vytvořte odkaz.
- Zdrojový kód vložte zde na stránku.
- Samozřejmě můžete využít minulého úkolu
minulý úkol