Introduzione alla programmazione orientata agli oggetti
Fa parte della sezione Programmazione orientata agli oggetti del percorso PHP di Coddy. Lezione 2 di 91.
La programmazione orientata agli oggetti (OOP) organizza il codice attorno a oggetti che contengono dati (proprietà) e funzioni (metodi).
Crea un file chiamato car.php con una classe
<?php
class Car {
// corpo della classe vuoto
}Crea un altro file chiamato driver.php per usare la classe
<?php
require_once 'car.php';Crea un oggetto dalla classe Car usando la parola chiave new
$myCar = new Car();Controlla la classe del tuo oggetto
echo get_class($myCar);Risultato:
CarQuesto conferma che hai creato correttamente un oggetto dalla tua classe Car. Nella programmazione orientata agli oggetti, una classe è come un progetto e un oggetto è ciò che costruisci a partire da quel progetto. La parola chiave new crea una nuova istanza della classe.
Sfida
MedioIn questa sfida, userai una classe Car definita in car.php e ne creerai un oggetto in driver.php.
Devi aggiornare driver.php:
- Crea un oggetto dalla classe
Carusando la parola chiavenewe assegnalo a$myCar
Il file driver stamperà il nome della classe per verificare la tua implementazione.
Provalo tu
<?php
require_once 'car.php';
// TODO: Crea un oggetto della classe Car
$myCar = ?;
// Stampa la classe di $myCar
echo get_class($myCar) . "\n";
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti della programmazione orientata agli oggetti
File esterniIntroduzione alla programmazione orientata agli oggettiClassi e oggettiLa parola chiave $thisMetodiProprietàCostruttore (__construct)Distruttore (__destruct)Riepilogo - Calcolatrice semplice4Ereditarietà
Ereditarietà di baseLa parola chiave parent::Sovrascrittura dei metodiLa parola chiave finalClassi astratteRiepilogo - Gerarchia dei dipendenti7Incapsulamento
Pubblico, Protetto, PrivatoApprofondimento sui modificatori di accessoGetter e SetterOccultamento delle informazioniPromozione dei parametri del costruttore (8.0)Riepilogo - Sistema di gestione dei registri degli studenti10Concetti avanzati di programmazione a oggetti
Composizione vs ereditarietàDependency InjectionClassi anonimeEnumerazioni (PHP 8.1)Fibers (PHP 8.1)Approfondimento sulla clonazione degli oggettiGeneratori e iteratori13Modelli di progettazione, parte 2
Modello CommandModello AdapterModello DecoratorModello Template MethodModello StateModello CompositeModello Repository2Namespace e autoloading
Introduzione ai namespaceLa keyword useStandard di autoloading PSR-4Autoloader di ComposerRiepilogo - Progetto organizzato5Interfacce e contratti
Introduzione alle interfacceImplementare le interfacceImplementare più interfacceInterfaccia vs classe astrattaType hinting con le interfacceRiepilogo - Calcolatore di forme8Metodi magici
Introduzione ai metodi magici__toString e __debugInfo__get, __set, __isset, __unset__call e __callStatic__clone e clonazione degli oggetti__serialize e __unserializeRiepilogo - Collezione personalizzata11Sistema dei tipi e gestione degli errori
Dichiarazioni di tipoTipi nullableTipi unione e intersezioneClassi di eccezioneGerarchia di eccezioni personalizzataTry, Catch, FinallyRiepilogo - Validatore di moduli14Progetto: Gestione della biblioteca
Panoramica del progettoClassi Libro e Utente3Proprietà delle classi
Proprietà di istanza e staticheCostanti nelle classiMetodi e proprietà staticiProprietà private e protectedProprietà readonly (PHP 8.1)Riepilogo - Gestore di conti bancari6Polimorfismo
Ridefinizione dei metodi, ripresaPolimorfismo tramite interfacceSuggerimenti sui tipi e tipi UnionBinding statico tardivoRiepilogo - Processore di pagamenti9Tratti
Introduzione ai trattiUtilizzare più trattiRisoluzione dei conflitti tra trattiMetodi astratti nei trattiTratti vs ereditarietà12Design pattern - Parte 1
Introduzione ai design patternPattern SingletonPattern FactoryPattern ObserverPattern StrategyEsercitati da solo: Compilatore PHP online