Koncepcje OOPS w PHP | Programowanie obiektowe w PHP

Opublikowany: 2020-12-14

PHP to elastyczna platforma pod względem dostępu do funkcji i zmiennych składowych. OOP w PHP nawiązuje do stylu programowania posiadającego skojarzenie klasy, obiektów i różnych komponentów.

PHP to język programowania po stronie serwera używany do tworzenia stron internetowych. Programowanie obiektowe w PHP pomaga programistom w tworzeniu złożonych aplikacji internetowych wielokrotnego użytku. Programowanie obiektowe to styl programowania, który odnosi się do kojarzenia różnych komponentów i obraca się wokół koncepcji dziedziczenia, polimorfizmu, enkapsulacji i abstrakcji.

OOP jest zaprogramowany w taki sposób, aby użytkownik mógł skupić się na obiekcie podczas tworzenia programu i kodu, ale nie na procedurze. OOP skupia się również na przybliżaniu programowania do prawdziwego życia. W tym artykule będziemy badać niektóre z podstawowych koncepcji OOP w PHP.

Spis treści

Główne koncepcje OOPS w PHP

PHP to obiektowy język programowania, który obsługuje kilka koncepcji. Niektóre z nich to:

Klasa i obiekty — Klasa to typ danych zdefiniowany przez programistę, obejmujący zmienne lokalne i metody lokalne. To także zbiór przedmiotów, które mają podobne właściwości i zachowania. Pojedyncza instancja struktury danych zdefiniowana przez klasę jest obiektem. Klasa jest ogólna, a obiekt specyficzny. Deweloperzy mogą tworzyć instancję obiektu, ale nie klasy, a obiekt jest instancją klasy.

Interfejsy – Interfejs w PHP to opis działań, które mogą wykonywać obiekty. Jest napisany w taki sam sposób, jak klasa jest deklarowana z każdym słowem kluczowym interfejsu. Metody zadeklarowane w interfejsie są publiczne i można je rozszerzać tak samo, jak klasy z tym samym operatorem extend.

Abstrakcja- Abstrakcja to koncepcja przeniesienia punktu ciężkości ze szczegółów programowania i konkretnej implementacji rzeczy na ich typy i dostępność operacji. Abstrakcja sprawia, że ​​programowanie jest łatwe i ogólne dla programisty i przypomina bardziej uogólnianie specyfikacji.

Konstruktor — jest to specjalna funkcja, która jest wywoływana automatycznie za każdym razem, gdy istnieje formacja obiektu z klasy.

Destruktor — jest to specjalna funkcja, która jest wywoływana automatycznie za każdym razem, gdy obiekt zostanie usunięty lub opuści zakres.

Przeciążanie — jest to specjalny rodzaj polimorfizmu, w którym wszystkie lub kilka operatorów ma różne implementacje w zależności od rodzaju argumentu. Te same funkcje mogą zostać przeciążone wieloma implementacjami.

Przeczytaj: Pomysły i tematy projektów PHP

Zasady i koncepcja OOPS w PHP

Główne zasady programowania obiektowego w PHP są następujące:

Hermetyzacja — ta koncepcja podkreśla właściwości powiązania, metody i ukrywa szczegóły implementacji. Głównym celem enkapsulacji jest ograniczenie komplikacji podczas tworzenia oprogramowania, a także uproszczenie korzystania z obiektów klas. Chroni również stan wewnętrzny obiektu i ułatwia jego utrzymanie.

Dziedziczenie — ta koncepcja jest dostosowana do powiązania między klasami i podkreśla związek między klasą podrzędną a klasą nadrzędną. Dziecko korzysta również z metod zdefiniowanych przez rodzica.

Podstawową funkcją dziedziczenia jest możliwość ponownego wykorzystania, co jest niezwykle przydatne, gdy programiści muszą oferować podstawowe funkcje, takie jak aktualizowanie, dodawanie lub usuwanie komponentów danych z bazy danych. Dziedziczenie jest podzielone na dziedziczenie jednopoziomowe i wielopoziomowe.

Polimorfizm — termin ten odnosi się do używania pojedynczej instancji na wiele sposobów implementacji. Jest to koncepcja, która pozwala użytkownikom zdefiniować metodę, zmieniając swoje segmenty lub zmieniając sposób, w jaki jest to zrobione. Polimorfizm kładzie nacisk na utrzymanie aplikacji wraz z prowadzeniem rozszerzalnego przypadku użycia.

Przeczytaj także: Pytania do rozmowy kwalifikacyjnej na temat PHP

Tworzenie obiektów w PHP

Przede wszystkim w PHP tworzone są klasy, w których użytkownicy mogą tworzyć kilka obiektów w tej samej klasie według własnego wyboru. Każdy obiekt jest tworzony za pomocą nowego słowa kluczowego. Po utworzeniu klasy programiści mogą tworzyć dowolną liczbę obiektów dla tej samej klasy.

Wywoływanie funkcji członka

Po utworzeniu obiektu programiści mogą uzyskać dostęp do funkcji metody i zmiennych klasy za pomocą operatora '->'. Jedna funkcja składowa może przetwarzać tylko zmienne składowe powiązanych obiektów. Weźmy przykład, który pokazuje, jak ustawić cenę i tytuł dla dowolnych trzech książek, wywołując funkcje członkowskie:

$physics->setTitle( “Fizyka dla liceum” );

$chemistry->setTitle( “Zaawansowana chemia” );

$maths->setTitle( “Algebra” );

$fizyka->ustalCena( 10 );

$chemia->ustawCena( 15 );

$maths->setPrice( 7 );

Aby uzyskać zestaw wartości, możesz wywołać inne funkcje członkowskie:

$fizyka->getTitle();

$chemia->getTitle();

$maths->getTitle();

$physics->getPrice();

$chemia->getPrice();

$maths->getPrice();

Da to następujący wynik:

Fizyka dla liceum

Zaawansowana Chemia

Algebra

10

15

7

Tworzenie klasy abstrakcyjnej

<?php

klasa abstrakcyjna DBCommonMethods

{

prywatny $host;

prywatny $db;

prywatny $uid;

prywatne hasło $;

funkcja publiczna __construct($host, $db, $uid, $password)

{

$ten->host = $host;

$to->db = $db;

$ten->uid = $uid;

$to->hasło = $hasło;

}

}

?>

Tutaj,

  • „Klasa abstrakcyjna” odnosi się do klasy, której nie można użyć bezpośrednio do tworzenia obiektu.
  • „$host, $db…” to zmienne klasowe wspólne w różnych implementacjach

Tworzenie interfejsu

Stwórzmy teraz interfejs zawierający standardowe metody do implementacji różnych zmiennych bazy danych:

<?php

interfejs DBInterfejs

{

funkcja publiczna db_connect();

wstaw funkcję publiczną ($dane);

funkcja publiczna read($gdzie);

aktualizacja funkcji publicznej ($gdzie);

funkcja publiczna usuń ($gdzie);

}

?>

Tutaj,

  • „Interfejs” to słowo kluczowe do tworzenia interfejsów
  • „Funkcja publiczna” to standardowa metoda realizacji

Stwórzmy konkretną klasę, która może rozszerzać klasy i interfejsy DBCommon Methods:

<?php klasa MySQLDriver rozszerza

DBCommonMethods implementuje DBInterface { funkcja publiczna __construct ($ host, $ db, $ uid, $ hasło)

{

parent::__construct($host, $db, $uid, $hasło); }

public function db_connect() { //kod połączenia idzie tutaj }

public function delete($where) { //delete code idzie tutaj }

public function insert($data) { //wstaw kod tutaj }

public function read($where) { //odczytaj kod idzie tutaj }

aktualizacja funkcji publicznej ($where) { //tutaj kod aktualizacji }

} ?>

Nadpisywanie funkcji

Funkcja w klasach potomnych jest nadpisywana w ramach tej samej nazwy, co klasa nadrzędna. W klasie potomnej programista może modyfikować definicję funkcji odziedziczoną z klasy nadrzędnej.

funkcja pobierz cenę() {

echo $to->cena . „<br/>”;

zwróć $to->cena;

}

funkcja getTitle() {

echo $this->title . „<br/>”;

zwróć $to->tytuł;

}

Widoczność

Każda metoda i właściwość w PHP ma swoją widoczność, która jest deklarowana za pomocą słów kluczowych, takich jak private, public i protected, które wyjaśniono poniżej:

  • Publiczny — umożliwia każdemu użytkownikowi z zewnątrz dostęp do metody i właściwości.
  • Prywatne — nie daje dostępu żadnemu użytkownikowi poza nim samym.
  • Protected — pozwala tylko klasom potomnym i sobie na dostęp do metody i właściwości.

Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

W tym artykule wspomniano o podstawowej koncepcji programowania obiektowego w PHP.

Jeśli chcesz dowiedzieć się więcej o tworzeniu oprogramowania z pełnym pakietem, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie tworzenia oprogramowania z pełnym pakietem, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Zostań programistą Full Stack

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania