CursosEmpresasBlogLiveConfPrecios

Contenido del curso

Fundamentos

  • 1
    Programación Orientada a Objetos en PHP: Clases y Objetos

    Programación Orientada a Objetos en PHP: Clases y Objetos

    05:47 min
  • 2
    Reducción de Deuda Técnica en Programación

    Reducción de Deuda Técnica en Programación

    03:59 min
  • 3
    Mejorando la Calidad del Código: Evita el "Code Smell"

    Mejorando la Calidad del Código: Evita el "Code Smell"

    04:08 min
  • 4
    Cómo evitar el código espagueti con programación orientada a objetos

    Cómo evitar el código espagueti con programación orientada a objetos

    05:32 min
  • 5
    Técnicas de Inclusión de Archivos en PHP

    Técnicas de Inclusión de Archivos en PHP

    06:35 min

Programación orientada a objetos

  • 6
    Programación Orientada a Objetos en PHP: Clases y Objetos

    Programación Orientada a Objetos en PHP: Clases y Objetos

    07:11 min
  • 7
    Abstracción en Programación Orientada a Objetos

    Abstracción en Programación Orientada a Objetos

    08:08 min
  • 8
    Encapsulamiento y Alcance en PHP: Público, Protegido y Privado

    Encapsulamiento y Alcance en PHP: Público, Protegido y Privado

    05:31 min
  • 9
    Modularidad en Programación Orientada a Objetos

    Modularidad en Programación Orientada a Objetos

    03:31 min
  • 10
    Polimorfismo en Programación Orientada a Objetos con PHP

    Polimorfismo en Programación Orientada a Objetos con PHP

    09:18 min
  • 11
    Polimorfismo en Programación Orientada a Objetos con PHP

    Polimorfismo en Programación Orientada a Objetos con PHP

    07:23 min
  • 12
    Herencia en Programación Orientada a Objetos

    Herencia en Programación Orientada a Objetos

    07:34 min
  • 13
    Interfaz en Programación: Concepto y Ejemplo Práctico

    Interfaz en Programación: Concepto y Ejemplo Práctico

    06:20 min
  • 14
    Conceptos Clave de Programación Orientada a Objetos en PHP

    Conceptos Clave de Programación Orientada a Objetos en PHP

    Viendo ahora

Proyecto en PHP

  • 15
    Configuración de PHP Unit y Composer para Proyectos PHP

    Configuración de PHP Unit y Composer para Proyectos PHP

    10:32 min
  • 16
    Desarrollo Guiado por Pruebas en PHP: Creación de Clases y Métodos

    Desarrollo Guiado por Pruebas en PHP: Creación de Clases y Métodos

    10:14 min
  • 17
    Pruebas Unitarias con PHP Unit para Proyectos en PHP

    Pruebas Unitarias con PHP Unit para Proyectos en PHP

    05:09 min
  • 18
    Configuración de un Blog con PHP: Clases de Usuario, Autor, Post y Categoría

    Configuración de un Blog con PHP: Clases de Usuario, Autor, Post y Categoría

    01:01 min
  • 19
    Conceptos clave de PHP y Programación Orientada a Objetos

    Conceptos clave de PHP y Programación Orientada a Objetos

    01:14 min
Tomar examen

Conceptos Clave de Programación Orientada a Objetos en PHP

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      La programación orientada a objetos es una forma de programar, un paradigma o una técnica. Los conceptos que aquí aprendiste te servirán en PHP y en otros lenguajes de programación. Recordemos que para programar de esta forma en realidad debemos crear objetos, y un objeto es una instancia de una clase y una clase es el molde. Ejemplo:

      • Programación orientada a objetos: es la técnica.
      • PHP: es el lenguaje de programación (donde implementamos la técnica).

      Podemos resumir los diferentes conceptos de la siguiente manera:

      1. Herencia: compartir métodos entre clases padres y clases hijas.
      2. Abstracción: significa aislar, separar y sacar.
      3. Polimorfismo: capacidad o virtud que tienen los métodos donde, por ejemplo, un mismo método puede tener diferentes comportamientos y dar diferentes resultados.
      4. Modularidad: este principio básicamente nos ayuda a tener cada vez piezas de código más pequeñas y entendibles, donde cada pieza es un módulo y muchos módulos forman el sistema entero.
      5. Encapsulamiento: un objeto debe estar aislado y ser un módulo natural. Esto se cumple aplicando la protección a las propiedades impidiendo su modificación y básicamente se refiere a controlar el acceso.

      Al entender este estilo conseguimos organizar mucho mejor nuestro código agrupando tareas comunes para crear una sola solución y usarla las veces que sean necesarias en nuestro proyecto. Evitamos con esto repetir código y ganamos mucho al dar mantenimiento en el futuro.

      1. Comienza con la palabra reservada class.
      2. El código va entre llaves { }.
      3. La información se guarda en propiedades que pueden ser públicas, privadas o protegidas.
      4. Cada acción la colocamos en métodos que básicamente son funciones o bloques de código dentro de una clase.
      5. $this es una variable reservada por el lenguaje que podemos usar para acceder a elementos propios, siempre y cuando estemos en la instancia de la clase.
      6. new es la palabra clave usada para crear un objeto a partir de una clase.

      En el mundo de la programación tenemos muchas técnicas y formas, podemos instanciar una clase dentro de otra y navegar por sus métodos sin restricción.

      <?php class User { public $type; } class Admin { public function greet() { echo "Hola Administrador"; } } $user = new User; $user->type = new Admin; $user->type->greet();
      <?php class Person { public function greet() { echo "Hola $this->name"; } } class User { public $type; } class Admin extends Person { public $name = 'Administrador'; } $user = new User; $user->type = new Admin; $user->type->greet();

      Son conceptos, métodos o formas que usamos a veces sin saber que estos conceptos existen. Revisa en detalle cada cosa y trata de hacer un ejercicio por concepto para que estos formen parte de ti.

      Comentarios

        Carlos Eduardo Gomez García

        Carlos Eduardo Gomez García

        teacher•
        hace 6 años

        Me encantó dar un repaso por los conceptos de Programación Orientada a Objetos, sueles llevar mucho tiempo haciendo código que se te olvida que la teoría también es importante, me está gustando mucho este curso, aún así sigo pensando que el concepto de Herencia debió de haber sido el primer concepto de todos a enseñar jaja, pero fuera de eso está genial.

        Si estás en este punto y aún tienes dudas, te recomiendo mirar los capítulos de nuevo, son muy claros, solo debes analizarlos, no te preocupes si no los entiendes, cuesta un poco al inicio pero con perseverancia lo logras, a mi me tomó tiempo entenderlos, asimilarlos y aplicarlos, ¡No te desanimes! Haciendo mi aporte, trataré de explicar todo con palabras muy simples:

        Programación Orientada a Ojetos: Es una forma de programación que representa objetos del mundo real en código, haciendo uso de clases, que pueden ser vistas como plantillas.

        Clase: Una clase es una plantilla del objeto, esta define qué propiedades contiene y qué acciones puede realizar, siempre actuando como una plantilla.

        Instancia: Una instancia es básicamente usar la clase que tenemos como plantilla y asignar propiedades a dicha instancia, una instancia es básicamente ese "$var = new Clase();" eso es todo, eso es una instancia.

        Por ejemplo, puedo tener la clase Coche, que tiene como atributo el color, y puedo tener dos instancias de esa clase, una instancia me puede decir que el coche es color azul y la otra instancia me puede decir que el coche es rojo, tengo dos objetos diferentes que hacen referencia a una misma clase.

        Método: No nos compliquemos, es una manera "fancy" de llamarle a una función dentro de una clase, un método es una función, listo, la única diferencia es que el método esta dentro de una clase, that's all.

        Propiedad/Atributo: Exactamente lo mismo, una propiedad o un atributo es una manera "fancy" de llamarle a una variable que está dentro de una clase, pero es eso, es una variable, la única diferencia es que está dentro de una clase.

        Herencia:* Es, como su nombre lo dice, heredar los métodos y propiedades de una clase en otra clase, siempre y cuando puedan ser heredados, y el si pueden o no pueden ser heredados lo define el encapsulamiento.

        Encapsulamiento: Es el "alcance" de las variables, es decir, definen quién pueden ser heredada, quién no, quién puede ser manipulada desde fuera de la clase, etc. Usando las palabras "private, protected y public", les recomiendo leer mi aporte en la clase de encapsulamiento pues lo explico con mucho más detalles y ejemplos :D

        Polimorfismo: Uy, esta palabra da escalofríos de solo leerla, ¿Verdad? ¿Y si te digo que detrás de este monstruo se esconde un lindo y tierno gatito? Polimorfismo no es más que hacer que una clase se comporte de maneras distintas sobreescribiendo algunos de sus méotodos, y la manera de sobreescribirlos es heredando esa clase. Básicamente es "hacer que una clase pueda tener varias formas" ¡Como Dito!, ¿Conocen ese Pakiman? ¡Es una criatura polimórifica!

        Modularidad: Dividir tu código o proyecto en varias partes o archivos, así es más fácil de leer y mantener

        Espero poder aclarar algunas dudas, este tema puede parecer complicado al inicio pero la verdad es muy fácil, ¡No se rindan! :D

          Italo Morales Fantone

          Italo Morales Fantone

          teacher•
          hace 6 años

          Perfecto :)

          Martin Campos

          Martin Campos

          student•
          hace 6 años

          Abstracción: Este concepto lo aprendí como el proceso de crear una clase a partir de objetos, esto significa obtener los datos simulares entre objetos para poder crear la clase.

        Jimmy Buriticá Londoño

        Jimmy Buriticá Londoño

        student•
        hace 6 años
        programacin-orientada-a-objetos.jpg
        Kenet Andrés Chungandro Montenegro

        Kenet Andrés Chungandro Montenegro

        student•
        hace 6 años

        Les comparto un resumen del resumen XD

        Screenshot from 2020-11-03 01-38-41.png

          Cheems programmer

          Cheems programmer

          student•
          hace 5 años

          Copy/Paste

        Cristian García

        Cristian García

        student•
        hace 5 años

        Yo siempre tuve falencias como programador en entender y aplicar los conceptos teóricos y fundamentales de POO, pero creo que tú lo explicaste de manera concisa y sencilla. Esto me ayuda a entender mucho más y mejorar.

        Usuario anónimo

        Usuario anónimo

        user•
        hace 5 años

        🧠 Entender los conceptos de la Programación Orientada a Objetos, permiten aplicarlo de forma adecuada.

        Juan David Rueda Quiroga

        Juan David Rueda Quiroga

        student•
        hace 5 años

        este es mejor que el curso de POO que da ancode

          Andrés Garzón Vesga

          Andrés Garzón Vesga

          student•
          hace 5 años

          No creo que se deban comparar los cursos. Yo acabé con el de Anncode y me pareció excelente incluso mejor que antes de iniciar con éste curso. El problema está cuando alguien quiere aplicar solo a un lenguaje y se encuentra con 4, como en el curso de POO. La ruta de Backend con PHP me está gustando pero me ayudó mucho realizar primero el otro curso antes que este.

          Aldo Miguel Ortiz Parodi

          Aldo Miguel Ortiz Parodi

          student•
          hace 5 años

          Sí, y dejé como sugerencia el tema de los cuatro lenguajes, sin embargo Ann ya no trabaja en Platzi así que ya no puede sacar una nueva versión :(, aunque siendo sinceros, capaz si lo hacía con JS, la gente iba a decir que por qué no con Java, PHP, C#, Pyhon y un largo etc.

        Manuel Angel Lemus Recinos

        Manuel Angel Lemus Recinos

        student•
        hace 4 años

        este codigo que pone el maestro de ejemplo puede ser usado muy perfectamente si la clase es privada, seria un caso ideal

        me sacan de la duda ?

        class User { public $type; } class Admin { public function greet() { echo "Hola Administrador"; } } $user = new User; $user->type = new Admin; $user->type->greet();```
        Omar Villafuerte

        Omar Villafuerte

        student•
        hace 5 años

        Muy buen resumen, un saludo desde Cuba!

        Jhon Fabio Cardona Martinez

        Jhon Fabio Cardona Martinez

        student•
        hace 5 años

        Me gusto mucho como compartiste estos conocimientos que son de gran importancia para cualquier lenguaje y en este caso para PHP.

        Jhon Anderson Alonso Hernandez

        Jhon Anderson Alonso Hernandez

        student•
        hace 5 años

        Esta muy bueno el curso, recomiendo que hagan ejercicios para que no se olvide lo aprendido.

        Daniel Ernesto Rios Lopez

        Daniel Ernesto Rios Lopez

        student•
        hace 3 años

        He visto en las clases usar las palabras claves "extends" e "implements", y me confundí un poco por como dicen: implementa esta clase. Alguien que tenga la misma observación. Cuándo se usa extends y cuándo se usa implements? y se pueden usar ambos?

        Juan Sebastian Calderon

        Juan Sebastian Calderon

        student•
        hace 5 años

        Cuál es la diferencia entre un objeto y una instancia?

          Rolando Concepcion

          Rolando Concepcion

          student•
          hace 5 años

          Un objeto es una instancia de una clase. No son diferentes, son lo mismo. Objeto = instancia de clase

          Qué quiere decir esto?: La clase es como un molde para galletas

          El objeto (instancia de clase) es la galleta.

          Saludos

        Osvaldo Del Rosario

        Osvaldo Del Rosario

        student•
        hace un año

        Genial la explicacion del profesor, lo unico que falto para completar son las namespace, laravel los utiliza mucho.

        Pero nos tocara investigar por otro lado.

        John Mejia

        John Mejia

        student•
        hace 2 años

        Siempre viene bien repasar los conceptos y bases de la POO en PHP, ya que es fácil con el tiempo (o la falta de tiempo a la hora de entregar un proyecto) el caer en prácticas no tan "sanas" que a futuro terminan pasando factura, cuando se revisa lo escrito y te preguntas "¿Y porqué hice esto así?".

        Juan Pablo Campuzano Monsalve

        Juan Pablo Campuzano Monsalve

        student•
        hace 2 años

        En lo que llevo programando en diferentes lenguajes, especializándome en este momento en JavaScript y PHP, es difícil encajar estos paradigmas de la programación en un proyecto real en mi percepción. Pero eso era antes de tomar este curso ya que me abrió las puertas a una manera diferente y recursiva de programar. Hace unos años programaba aplicaciones básicas en Java, ese lenguaje y la POO son mejores amigos y la manera en la que funcionan se me hacía fácil de entender ese paradigma.

        En resumen, este curso me ha dado una mejor perspectiva del POO en PHP.

        Eduardo Reyes

        Eduardo Reyes

        student•
        hace 3 años

        🍃 Este documento resume los conceptos clave de la programación orientada a objetos, incluyendo herencia, abstracción, polimorfismo, modularidad y encapsulamiento. También se proporcionan ejemplos de cómo implementar estos conceptos en PHP y se destaca la importancia de la programación orientada a objetos para organizar el código y evitar la repetición de código.

        Joel Dominguez Merino

        Joel Dominguez Merino

        student•
        hace 4 años

        Ha sido un buen repaso de estos temas que había visto en la universidad ya hace algunos años. Toca ponerlo todo en práctica :)

        Cristian Felipe Diaz

        Cristian Felipe Diaz

        student•
        hace 5 años

        excelente repaso es bueno todo apuntado !

        Jorge Olvera Martínez

        Jorge Olvera Martínez

        student•
        hace 5 años

        Está bien explicado para un principiante de la programación orientada a objetos. Aunque recomendaría yo seguir haciendo ejercicios más completos para lograr entender todos estos conceptos repasados, porque con la experiencia se hace el programador.

        Freddy Rafael Peñalver Nuñez

        Freddy Rafael Peñalver Nuñez

        student•
        hace 5 años

        Muy bueno esto y la mejor técnica para el desarrollo de sistemas escalables y duraderos en el tiempo!!