Introducción a la POO
Parte de la sección Programación Orientada a Objetos del Journey de PHP de Coddy. Lección 2 de 91.
La Programación Orientada a Objetos (POO) organiza el código en torno a objetos que contienen datos (propiedades) y funciones (métodos).
Crea un archivo llamado car.php con una clase
<?php
class Car {
// cuerpo de clase vacío
}Crea otro archivo llamado driver.php para usar la clase
<?php
require_once 'car.php';Crea un objeto de la clase Car usando la palabra clave new
$myCar = new Car();Comprueba la clase de tu objeto
echo get_class($myCar);Resultado:
CarEsto confirma que has creado con éxito un objeto a partir de tu clase Car. En la POO, una clase es como un plano, y un objeto es lo que construyes a partir de ese plano. La palabra clave new crea una nueva instancia de la clase.
Desafío
IntermedioEn este desafío, utilizarás una clase Car definida en car.php y crearás un objeto a partir de ella en driver.php.
Necesitas actualizar driver.php:
- Crea un objeto de la clase
Carutilizando la palabra clavenewy almacénalo en$myCar
El archivo driver imprimirá el nombre de la clase para verificar tu implementación.
Pruébalo tú mismo
<?php
require_once 'car.php';
// TODO: Crear un objeto de la clase Car
$myCar = ?;
// Imprimir la clase de $myCar
echo get_class($myCar) . "\n";
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Fundamentos de la POO
Archivos externosIntroducción a la POOClases frente a objetosLa palabra clave $thisMétodosPropiedadesConstructor (__construct)Destructor (__destruct)Repaso: calculadora simple4Herencia
Herencia básicaLa palabra clave parent::Sobrescritura de métodosLa palabra clave finalClases abstractasRepaso - Jerarquía de empleados7Encapsulación
Público, protegido, privadoModificadores de acceso en profundidadGetters y settersOcultación de la informaciónPromoción del constructor (8.0)Repaso: sistema de registros de estudiantes10Conceptos avanzados de OOP
Composición vs. herenciaInyección de dependenciasClases anónimasEnums (PHP 8.1)Fibras (PHP 8.1)Análisis profundo de la clonación de objetosGeneradores e iteradores13Patrones de diseño Parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón CompositePatrón Repository2Namespaces y carga automática
Introducción a los NamespacesLa palabra clave useEstándar de carga automática PSR-4Autoloader de ComposerRepaso: proyecto organizado5Interfaces y contratos
Introducción a las interfacesImplementación de interfacesImplementación de múltiples interfacesInterfaces vs. clase abstractaTipado con interfacesRepaso - Calculadora de formas8Métodos mágicos
Introducción a los métodos mágicos__toString y __debugInfo__get, __set, __isset, __unset__call y __callStatic__clone y clonación de objetos__serialize y __unserializeRepaso: colección personalizada3Propiedades de clase
Propiedades de instancia vs. estáticasConstantes en clasesMétodos y propiedades estáticosPropiedades privadas y protegidasPropiedades de solo lectura (PHP 8.1)Repaso: gestor de cuentas bancarias6Polimorfismo
Repaso de la sobrescritura de métodosPolimorfismo mediante interfacesAnotaciones de tipo y tipos uniónEnlace estático tardíoRepaso: procesador de pagos9Traits
Introducción a los TraitsUso de múltiples TraitsResolución de conflictos entre TraitsMétodos abstractos en TraitsTraits frente a la herencia12Patrones de diseño, parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón StrategyPractica por tu cuenta: Compilador de PHP online