E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale PHP

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  PHP  /  Introducere in PHP (24)

VII. Clase si obiecte

29.05.2008
VII. Clase si obiecte

Pe parcursul acestui tutorial, vei putea citi despre capacitatile PHP in legatura cu implementarea obiectelor (atat in PHP 4 cat si in PHP 5) si vei putea urmari diverse exemple si explicatii ce ilustreaza utilizarea lor.

Total vizualizari: 16466 16466 afisari   |   Comentarii  7   |   Rating   |   (13 voturi)   |   Timp necesar: 20 min 20 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Zend.com  
Autor:  Vikram Vaswani
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 12 3 45 »
comenteaza printeaza

Definitia unei clase
Dupa ce am explicat conceptele de baza ale POO, sa vedem in continuare cum anume se defineste o clasa:

<?php 
// PHP 5 
// definitia clasei 
class Urs { 
    // defineste proprietatile public
    public $nume; 
    public $varsta; 
    // alte proprietati 
    // defineste o metoda public
    public function mananca() { 
        echo $this->nume." mananca... "; 
        // mai mult cod 
    } 
    // alte metode  
} 
?>

Orice definitie a unei clase incepe prin cuvantul cheie class, urmat de numele clasei. Acesta poate fi orice sir de caractere, in afara unui cuvant rezervat PHP, fiind urmat de o pereche de acolade ce include variabilele si functiile clasei.

PHP5 introduce un nou concept care nu este disponibil in PHP4: specificatorii de acces. Acestia controleaza gradul in care proprietatile obiectelor si metodele lor pot fi manipulate din exteriorul clasei, avand un rol important in ceea ce priveste securitatea claselor. Exista trei specificatori de acces, de la cel mai permisiv la cel mai restrictiv: public, private si protected. In definitia unei clase poti marca gradul de vizibilitate al unei proprietati sau metode precedand-o cu unul dintre cele trei cuvinte cheie.

In mod implicit, proprietatile si metodele unei clase sunt public. Aceasta inseamna ca ele pot fi accesate direct si manipulate de catre un script care nu se afla in interiorul clasei. Daca nu doresti acest lucru, il poti impiedica utilizand specificatorii de acces private sau protected, in functie de gradul de control pe care vrei sa il detina un script exterior asupra obiectelor tale. Deoarece in PHP4 nu exista specificatori de acces, definitia clasei de mai sus nu va functiona in PHP4. In schimb, ea poate fi inlocuita cu urmatorul cod:

<?php 
// PHP 4 
// definitia clasei 
class Urs { 
    // definitia proprietatilor 
    var $nume; 
    var $greutate; 
    var $varsta; 
    var $sex; 
    var $culoare; 
    // definitia metodelor 
    function mananca() { 
        echo $this->nume." mananca... "; 
    } 
    function alearga() { 
        echo $this->nume." alearga... "; 
    } 
    function vaneaza() { 
        echo $this->nume." vaneaza... "; 
    } 
    function doarme() { 
        echo $this->nume." doarme... "; 
    } 
} 
?>

Avand in fata exemplul de mai sus, poti deduce usor faptul ca in PHP4 toate proprietatile si metodele unui obiect sunt public.

Pentru a crea o noua instanta a clasei de mai sus, foloseste cuvantul cheie new:

<?php 
$tata_urs = new Urs; 
?>

Codul din exemplul anterior s-ar putea citi ca : "creeaza un nou obiect de tipul Urs si salveaza-l in variabila $tata_urs".

Acum poti accesa toate proprietatile si functiile clasei Urs folosind aceasta variabila. De exemplu, codul:

<?php 
$tata_urs->nume = "Tata urs"; 
?>

s-ar traduce ca "atribuie valoarea "Tata urs" variabilei $nume a instantei $tata_urs a clasei Urs", in timp ce declaratia:

<?php 
$tata_urs->doarme(); 
?>

inseamna "executa functia doarme() pentru instanta $tata_urs a clasei Urs".

Poti observa ca simbolul "->" este folosit pentru a apela diferitele proprietati si metode ale obiectelor, caracterul "$" fiind omis atunci cand accesam variabilele unui obiect.

Pagina:
« 12 3 45 »
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(13 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (7) spune-ti parerea
e-learn , Joi, 25 Iunie 2009
#7

Re: miha
Apreciem eforturile tale de a "sparge" site-ul, dar aceeasi smecherie nu va functiona de doua ori. Asa ca ori inventezi ceva nou, ori ar trebui sa renunti la glume si sa lasi loc celor care chiar isi doresc sa invete ceva din aceste tutoriale. Datorita celor ca tine, utilizatorii bine intentionati nu pot posta intrebari ce includ cod. Oricum, si noi am invatat ceva din aceasta experienta si iti multumim!

Raporteaza acest comentariu ca injurios!
miha , Miercuri, 24 Iunie 2009
#6

atac

Raporteaza acest comentariu ca injurios!
Drugg , Marti, 17 Martie 2009
#5

bravo autorul !!! Acum anumite lucruri au devenit mai clare pt mine :)

Raporteaza acest comentariu ca injurios!
pesos , Vineri, 19 Decembrie 2008
#4

e bun tutorialul dar ar mai fi ceva la constructori mai multe de explicat in rest e foarte bun ii multumesc autorilor pt material si daca se poate sa-l mai completati

Raporteaza acest comentariu ca injurios!
Dani , Joi, 07 August 2008
#3

O fi mediu, dar nimeni nu se naste invatat, multumiri autorilor, atat cat e mi-a folosit.

Raporteaza acest comentariu ca injurios!
Tronaru Mioara , Luni, 21 Iulie 2008
#2

Este un tutorial f.bun - cu ajutorul caruia mi-am clarificat multe probleme.Excelent!

Raporteaza acest comentariu ca injurios!
sacue , Luni, 02 Iunie 2008
#1

Legat de nivelul acestui tutorial, cred ca mai potrivit ar fi fost "Mediu". Conceptul de obiect cam aici se incadreaza ...


Parerea mea ....

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4430
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4320
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4280
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4125
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
MySQL Action Script Excel Lightroom Illustrator Ruby on Rails Python RoR Photoshop HTML Powerpoint Flash Word CSS JSON PSD Fotografie XML Verilog Javascript AJAX Sony Vegas Gimp PHP COREL DRAW Fireworks Bridge SWF Dreamweaver SEO Swift 3D StyleSheet Outlook XHTML Vista Java
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software