Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Jazyk PHP - pokračování

PDF
Stáhnout kompletní materiál zdarma (1.56 MB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Třída, která má alespoň jednu abstraktní metodu
je také abstraktní

je také abstraktn

 Hodí se tehdy, když chci skoro všechno udělat za 

Hodí se tehdy, když chci skoro všechno udělat za
koncového uživatele, jenom nějakou maličkost 

koncového uživatele, jenom nějakou maličkost

koncového uživatele, jenom nějakou maličkos

koncového uživatele, jenom nějakou maličko
nechat na něm.

nechat na něm

Abstraktní metody a třídy

Abstraktní metody a tříd

 Například udělám nákupní košík, který bude umět 

Například udělám nákupní košík, který bude umět
skoro vše, ale bude nezávislý na použité DB.

skoro vše, ale bude nezávislý na použité DB

 Generic

Generi Cart

Car

– add

ad

– remove

remov

– abstract

abstrac save

sav

– abstract

abstrac sa

s

– abstract

abstrac load

loa

Definice abstraktní třídy

Definice abstraktní tříd

abstract class AbstractCart {

protected $obsah = array();
public function add ($zbozi) {

$this->obsah[] = $zbozi;

}

public function remove ($zbozi) {

foreach ($this->obsah as $klic => $polozka) {

foreach ($this->obsah as $klic => $polozka)

if ($polozka == $zbozi) unset($this->zboz[$klic]);

}

}

public abstract function load();
public abstract function save();

}

Implementace abstraktní třídy

Implementace abstraktní tříd

class FileCart extends AbstractCart {

public function load(){

$file = fopen("kosik.txt","r");
$this->obsah =

array();

while ($radek = fgets($file)) {

$this->obsah[] = $radek;

}
fclose($file);

}

public function save() {

$file = fopen("kosik.txt","w");
foreach ($this->obsah as $polozka) {

fputs($file, $polozka."\r\n");

}
fclose($file);

}

}

Použití

Použit

$kosik0 =

new AbstractCart(); //  toto nelze!!! chyba

$kosik =

new FileCart();

$kosik->add("Brambory");
$kosik->add("Jablka");
$kosik->save();

$kosik2 =

new FileCart();

$kosik2->load();

var_dump($kosik2);

kuk abstract_cart.php

Interfaces

Interface

 Řekněme, že máme 2 zcela různé typy zboží

Řekněme, že máme 2 zcela různé typy zbož

Témata, do kterých materiál patří