PHP V Osztályok, Objektumok. Osztály class Person { var $name; // tulajdonság, változó function getName() { // metódus, tagfüggvény return $this->name;

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
Java programozási nyelv 5. rész – Osztályok III.
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
PHP VI Adatbázisok, MySQL
PHP II. Tömbök, sztringek
Gábor Dénes Főiskola (IAI)Programozási technológia (Java) - III. / 1 13.Állományok, bejegyzések 14.Folyamok 15.Közvetlen hozzáférésű állomány.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Könyvtár, csomag és alprogramokVHDL Könyvtár, csomag és alprogram n Library és use n Package n Alprogramok –Procedure –Function –Resolution function Egy.
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Végeselemes modellezés matematikai alapjai
Szerkezetek Dinamikája
Skandináv dizájn Hisnyay – Heinzelmann Luca FG58PY.
VÁLLALATI Pénzügyek 2 – MM
Szerkezetek Dinamikája
J. Caesar hatalomra jutása atl. 16d
Kováts András MTA TK KI Menedék Egyesület
Az eljárás megindítása; eljárási döntések az eljárás megindítása után
Melanóma Hakkel Tamás PPKE-ITK
Penicillin származékok szabadgyökös reakciói
Boros Sándor, Batta Gyula
TANKERÜLETI (JÁRÁSI) SZAKÉRTŐI BIZOTTSÁG
A nyelvtechnológia eszközei és nyersanyagai 2016/ félév
Járványügyi teendők meningococcus betegség esetén
Kezdetek októberében a könyvtár TÁMOP (3.2.4/08/01) pályázatának keretében vette kezdetét a Mentori szolgálat.
Poszt transzlációs módosulások
Vitaminok.
Pharmanex ® Bone Formula
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
Pontos, precíz és hatékony elméleti módszerek az anion-pi kölcsönhatási energiák számítására modell szerkezetekben előadó: Mezei Pál Dániel Ph. D. hallgató.
MOSZKVA ZENE: KALINKA –HELMUT LOTTI AUTOMATA.
Bőrimpedancia A bőr fajlagos ellenállásának és kapacitásának meghatározása Impedancia (Z): Ohmos ellenállást, frekvenciafüggő elemeket (kondenzátort, tekercset)
Összefoglalás.
Konzerváló fogászat Dr. Szabó Balázs
További MapReduce szemelvények: gráfproblémák
Járműcsarnokok technológiai méretezése
Az anyagok fejlesztésével a méretek csökkennek [Feynman, 1959].
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
XXV. Nemzetközi Magyar Matematikaverseny Budapest
Érzékelők és beavatkozók Széchenyi István Egyetem
Mosolyogj 12. Winston Churchill.
Grosz Imre docens: Munkaállomások
8. Szabály: A játék kezdete és újraindítása
Adatbázisok 5. előadás Tikk Domonkos.
Agrár-környezetgazdálkodás
T:Puhatestűek Mollusca
1 A víz világnapja 1 H2O.
Energiatervezés Alapfogalmak.
19. század – II..
6. Alkalom Harag A harag természetének és jogos helyének témakörében sok a félreértés és a tudatlanság. A haragot sok keresztény – tévesen.
Repülő kristályok Szerkezeti színek a természetben
Joghatóság alóli mentesség
Egyenletes mozgás.
proton (+) és elektron (-)
Kórádi Zoltán Kondenzált anyagok fizikája szeminárium, 2012
9. Üstököskutatás Németh Zoltán
A~30 tömegszámú egzotikus atommagok vizsgálata radioaktív nyalábokkal
Tartalom Radiometria / fotometria Fény mennyiségei Melléklet
PHÖNIX-BRV KFT Ózd Vincze Tamás
Földműveléstan és területfejlesztés
A „frontális együttműködés”
Klasszikus Szabályozás elmélet
VEKTORMŰVELETEK Készítette: Sike László Kattintásra tovább.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

PHP V Osztályok, Objektumok

Osztály class Person { var $name; // tulajdonság, változó function getName() { // metódus, tagfüggvény return $this->name; } function setName($name) { $this->name = $name; } $p = new Person(); $p->setName(”Pali”); var_dump($p);

Konstruktor, destruktor function __construct(...) { –// inizializáló kód } function __destruct() { –// erőforrás felszabadítás }

Hozzáférések class TestClass { public $var1; // a ‘var’ is ‘public’ private $var2; // csak az osztálypéldány éri el protected $var3; // alosztályok példányai is elérik public function func2($v) { $this->var2 = ‘ ’. $v. ‘ ’; } $test = new TestClass(); $test->var2 = 20; // HIBA! $test->func2(20);

Típus korlátozás class PersonStorage { private $persons = array(); public function store(Person $p) { $this->persons[] = $p; // vagy array_push() } $st = new PersonStorage(); $p = new Person(); $p->setName(‘Paul’); $st->store($p); $st->store(45); var_dump($st); // Csak osztály vagy array típusra lehet a korlátozni

Öröklés class Szemely { protected $nev; function __construct($n) { $this->nev = $n; } public function getNev() { return $this->nev; } class Ugyfel extends Szemely { private $azon; function __construct($n, $a) { parent::__construct($n); $this->azon = $a; } public function getAzon() { return $this->azon; }

Final osztály final class FinalClass { private $v1; public function setV($v) { $this->v1 = $v; } class TestClass extends FinalClass { public function printV() { echo ‘ ’. $this->v1. ‘ ’; }

Konstansok class Class1 { const PI = 3.14; } echo Class1::PI. ‘ ’; class Class2 extends Class1 { private static $e = 2.718; public function test() { echo parent::PI. ‘ ’; echo self::$e. ‘ ’; } $obj = new Class2(); $obj->test();

Absztrakt osztály abstract class AbstractPrinter { abstract protected function prefix($v); public function printValue($v) { print $this->prefix($v). ‘ ’; } class BoldPrinter extends AbstractPrinter { protected function prefix($v) { return ‘ ’. $v. ‘ ’; } $test = new BoldPrinter(); // $test = new AbstractPrinter() HIBA!!! $test->printValue(‘Hello world’);

Interfész interface PrinterInterface { public function printValue($v); } class BoldPrinter implements PrinterInterface { public function printValue($v) { echo ‘ ’. $v. ‘ ’; } $test = new BoldPrinter(); $test->printValue(‘Hello world’);

Feladatok require_once(‘person.php’); $records = file(‘persons.txt’); $persons = array(); foreach ($records as $record) { $r = explode(‘;’, $record); $n = trim($r[0]); $a = intval(trim($r[1])); $w = doubleval(trim($r[2])); $persons[] = new Person($n, $a, $w); } foreach ($persons as $p) { $n = $p->getName(); $a = $p->getAge(); $w = $p->getWeight(); echo ”Name: $n; Age: $w; Weight: $w ”; }

Objektum tárolás require_once(‘person.php’); $p = new Person(‘Pali’, 34, 77.9); $ser = serialize($p); file_put_contents(‘person.data’, $ser); unset($p); unset($ser); $ser = file_get_contents(‘person.data’); $p = unserialize($ser); var_dump(p); // __sleep() és __wakeup() metódus majd később

Feladatok A penz_adat könyvtárban a 2. gyakorlat feladata során használt adatok vannak fájlokban tárolva. A dao.php egy interfészt definiál adatok eléréséhez. (DAO = Data Access Object) Készítsünk osztályt, amely a fájlokat feldolgozza és az interfész által definiált metódusokat valósítja meg. Kiindulásként használjuk a filedao.php –t.