OOP în PHP: un ghid pentru începători

Regex în PHP
Constructori și destructori în PHP

Programarea orientată pe obiecte (OOP) este o paradigmă de programare care reprezintă și manipulează datele și comportamentul folosind obiecte, care sunt instanțe de clase. PHP oferă suport OOP printr-o colecție de funcții și structuri încorporate.

O clasă în PHP este un plan pentru construirea de obiecte. O clasă definește obiectul proprietăţi (cunoscute și ca variabile sau atribute ale membrilor) și metode (cunoscute și ca funcții sau comportamente ale membrilor). Termenii „var” și „funcție” sunt folosiți în cadrul clasei pentru a specifica proprietăți și, respectiv, metode. Iată un exemplu de clasă PHP de bază:

class Person {
    var $name;
    var $age;

    function setName($name) {
        $this->name = $name;
    }

    function getName() {
        return $this->name;
    }

    function setAge($age) {
        $this->age = $age;
    }

    function getAge() {
        return $this->age;
    }
}

Clasa „Persoană” din acest exemplu conține două proprietăți: $name și $age. Există și patru metode: setName(), getName(), setAge() și getAge(). Aceste metode sunt folosite pentru set și recuperați valorile proprietăților. Trebuie remarcat faptul că termenul „acest” se referă la obiectul curent din clasă.

Pentru a crea un obiect de clasă, folosim cuvântul cheie „nou” urmat de numele clasei. Iată un exemplu:

$person = new Person();

Odată ce avem un obiect, putem folosi metodele clasei pentru a seta și obține valorile proprietăților:

$person->setName("John Doe");
$person->setAge(30);

echo $person->getName(); // prints "John Doe"
echo $person->getAge(); // prints "30"

Moștenirea este un concept fundamental în programarea orientată pe obiecte care permite unei clase să moștenească atribute și funcții de la alta. O subclasă sau o clasă derivată este una care moștenește dintr-o altă clasă, în timp ce clasa de la care moștenește este cunoscută ca superclasă sau clasă de bază.

Iată un exemplu de subclasă „Student” care derivă din superclasa „Persoană”:

class Student extends Person {
    var $studentId;

    function setStudentId($id) {
        $this->studentId = $id;
    }

    function getStudentId() {
        return $this->studentId;
    }
}

În acest exemplu, clasa Student moștenește toate proprietățile și metodele clasei Person și îi adaugă o nouă proprietate $studentId și metodele setStudentId() și getStudentId().

$student = new Student();
$student->setName("Jane Doe");
$student->setAge(20);
$student->setStudentId("123456");

echo $student->getName(); // prints "Jane Doe"
echo $student->getAge(); // prints "20"
echo $student->getStudentId(); // prints "123456"

Interfețe sunt un tip de contract care specifică un set de metode pe care o clasă trebuie să le implementeze. Cuvântul cheie interfață este folosit pentru a defini un interfață, și poate include doar semnături de metodă, nu corpuri de metodă.

Iată un exemplu de interfață „Shape” care definește un set de metode pentru forme:

interface Shape {
    public function getArea();
    public function getPerimeter();
}

O clasă care implementează o interfață trebuie să definească metodele specificate în interfață. Iată un exemplu de clasă „Dreptunghi” care implementează interfața Shape:

class Rectangle implements Shape {
    private $width;
    private $height;

    public function __construct($width, $height) {
        $this->width = $width;
        $this->height = $height;
    }

    public function getArea() {
        return $this->width * $this->height;
    }

    public function getPerimeter() {
        return 2 * ($this->width + $this->height);
    }
}

În acest exemplu, clasa Rectangle implementează funcțiile getArea() și getPerimeter() ale interfeței Shape. Acum putem construi un obiect Rectangle și să-l folosim Metode:

$rectangle = new Rectangle(5, 10);
echo $rectangle->getArea(); // prints "50"
echo $rectangle->getPerimeter(); // prints "30"

Clase, obiecte, moștenire, iar interfețele sunt ideile fundamentale ale OOP în PHP. Există multe principii suplimentare sofisticate care pot fi aplicate în PHP pentru a face software-ul mai modular, mai ușor de gestionat și mai reutilizabil, cum ar fi clasele abstracte, polimorfismul, încapsularea și așa mai departe.

Este crucial să ne amintim că OOP este doar o paradigmă în PHP; există multe alte metode de a construi cod PHP; totuși, OOP este utilizat pe scară largă și considerată o practică recomandată în dezvoltarea PHP actuală.

Q & A

Î: Ce este programarea orientată pe obiecte (OOP)?
R: OOP este o paradigmă de programare care reprezintă și manipulează datele și comportamentul folosind obiecte, care sunt instanțe de clase.

Î: PHP acceptă OOP?
R: Da, PHP este un limbaj de scripting popular pe partea de server care include funcții și caracteristici încorporate pentru a activa OOP.

Î: Cum creez un obiect în PHP?
R: Pentru a crea un obiect al unei clase, folosim cuvântul cheie „nou”, urmat de numele clasei. De exemplu: $person = new Person();

Î: Ce este moștenirea în OOP?
R: Moștenirea este un aspect fundamental al POO care permite unei clase să moștenească proprietăți și metode de la o altă clasă.

Î: Puteți explica ce sunt interfețele?
R: Interfețele sunt o modalitate de a defini un contract pentru o clasă, specificând un set de metode pe care clasa trebuie să le implementeze.

Î: Există și alte concepte avansate de POO în PHP?
R: Da, există multe principii suplimentare sofisticate care pot fi aplicate în PHP pentru a face programul mai modular, mai ușor de gestionat și mai reutilizabil, cum ar fi clasele abstracte, polimorfismul, încapsularea și așa mai departe.

Exerciții:

  1. Care este sintaxa pentru crearea unei clase în PHP?
  2. Cum puteți defini o metodă de constructor într-o clasă PHP?
  3. Care este diferența dintre o metodă statică și o metodă non-statică într-o clasă PHP?
  4. Cum poți crea un obiect dintr-o clasă în PHP?
  5. Care este scopul cuvântului cheie „extends” într-o clasă PHP?

Răspunsuri:

  1. Sintaxa pentru crearea unei clase în PHP este „class ClassName {}”
  2. Metoda constructorului dintr-o clasă PHP poate fi definită folosind funcția __construct().
  3. O metodă statică poate fi apelată fără a crea un obiect al clasei, în timp ce o metodă non-statică are nevoie de un obiect pentru a fi creat și apoi poate fi apelată.
  4. Un obiect poate fi creat dintr-o clasă în PHP utilizând cuvântul cheie „nou”, urmat de numele clasei și atribuindu-l unei variabile. ex. $obiect = new ClassName;
  5. Cuvântul cheie „extends” dintr-o clasă PHP este folosit pentru a indica faptul că o clasă este moștenită de la o clasă părinte. Permite unei clase să moștenească proprietăți și metode de la o altă clasă.
Regex în PHP
Constructori și destructori în PHP
închide

Rămâneți la curent cu PHP!

Nu trimitem spam!

en English
X
Derulaţi în sus