Sei sulla pagina 1di 8

¡Regresó el Plan Mensual!

Por tiempo limitado

CURSOS BLOG PLANES INICIA SESIÓN

¿Por qué necesitamos clases y objetos?


 
 Curso: Curso de programación orientada a objetos con PHP  Ver todas las lecciones

 Duilio Palacios  20/06/2016  Gratis, Videotutorial  57


Comentarios

Aprender un framework como Laravel suena muy llamativo y


emocionante, y realmente no requieres más que de conocimientos
básicos de PHP para comenzar. Sin embargo, si quieres crear
aplicaciones realmente profesionales y escribir un código de alta
calidad, necesitarás aprender más a detalle el lenguaje PHP y el
paradigma de programación orientada a objetos del cual Laravel hace
uso extenso.

En Styde ya tenemos un curso de Primeros Pasos con Laravel (entre


muchos otros cursos de este framework) y tenemos un curso
avanzado de creación de componentes para PHP que te explica
conceptos avanzados como la inyección de dependencias, uso de
PHPUnit, etc.

Pero hoy quiero rebobinar un poco, y crear este curso dedicado a


todos los desarrolladores que quizás como tú, se confunden con los
temas de OOP como clases abstractas
¡Regresóoeltérminos como Por tiempo limitado
Plan Mensual!
encapsulamiento, o quizás buscan la respuesta a una pregunta aún
más sencilla:

¿Por qué necesitamos clases y objetos?

19:43

Repositorio
 Ver el código de esta lección en GitHub

Notas
Notas por Sergio Ojeda.

¿Que es un objeto?
Pensar en objetos es muy parecido a como
¡Regresó vemos
el Plan el mundo,
Mensual! si
Por tiempo limitado
observamos a nuestro alrededor todo esta compuesto por objetos,
sea una casa, un carro, una hoja, etc. Cada objeto está compuesto
por dos cosas fundamentalmente, sus propiedades y sus
comportamientos. Por ejemplo, podemos decir que un Teléfono tiene
propiedades como color, modelo o compañía telefónica, y tiene
comportamientos como realizar llamadas, envío de mensajes de
texto, entre otros. Podemos utilizar esto como base para la
Programación Orientada a Objetos, transformando un elemento de la
vida real en elementos utilizables dentro de la programación.

Como ya es sabido, un objeto aunque sea el mismo, puede tener


distintos comportamientos o propiedades, continuando con el
ejemplo anterior, el objeto puede ser un Teléfono, pero existen una
gran cantidad de teléfonos de muchas marcas, colores, tamaños y
características que lo hacen distinto a los demás, esto define lo que
es la identidad del objeto, porque aunque comparten características
similares, como las llamadas, encendido, apagado, entre otros, cada
uno tiene algo que lo hace diferente.

Los objetos dentro de la programación son muy parecidos a la


realidad. Pues que un objeto en programación tiene propiedades (o
también llamados atributos) y comportamientos (que serían las
funciones también llamadas métodos).

Las Clases

Podemos ver las clases como una abstracción de un elemento de la


vida real para transformarlos en elementos utilizables dentro de la
programación. Las clases están conformadas tanto por propiedades
(que son como variables dentro de la clase)
¡Regresó como
el Plan por métodos
Mensual! (que limitado
Por tiempo
son como funciones dentro de la clase).

Como se menciono anteriormente, las propiedades las podemos


comparar con las variables dentro de la clase, en el ejemplo del vídeo
tenemos como propiedades de la Clase Persona el nombre y el
apellido

1 var $firstName, $lastName;

Un método es una acción realizada por un objeto, estos están


definidos como las funciones de la clase. Por ejemplo el método
fullName me retorna el nombre completo de una Persona.

1 function fullName()
2 {

3     return $this->firstName . ' ' . $this->lastName;


4 }

Se puede decir que las clases son solo plantillas cuyos métodos o
acciones no serán ejecutados en tanto no exista un objeto que
requiera su aplicación.

Para crear una nueva instancia de un objeto tenemos la palabra


reservada new:

1 $person1 = new Person('Duilio','Palacios');

Ahora veamos que funcion cumple el método constructor:


1 function __construct($firstName, $lastName)
¡Regresó el Plan Mensual! Por tiempo limitado
2 {
3     $this->firstName = $firstName;

4     $this->lastName  = $lastName;

5 }

Dentro del código de un constructor se suelen asignar los valores de


algunas o todas las propiedades de dicho objeto, para conseguir que
el objeto sea creado con valores iniciales. Por ende, un método
constructor se ejecuta cada vez que se instancia la clase. No es de
carácter obligatorio contar con uno, pero suelen ser bastante útiles.
En nuestro ejemplo, cuando se inicia un objeto del tipo Persona va
asignar a las propiedades $firstName y $lastName con los datos que
coloquemos cuando instanciamos nuestro objeto.

1 $person1 = new Person('Duilio', 'Palacios');

Para asignar valores o referirnos a la propiedad dentro de una clase


se utiliza $this, por ejemplo si utilizamos $this->firstName nos
referimos a la variable dentro de nuestra clase Persona.

Cada vez que se instancia una clase se crea un objeto nuevo:

1 $person2 = new Person('Ramon','Lapenze');

Con esto creamos dos objetos del tipo persona, y cada uno tiene su
propio nombre y apellido. De esta manera podemos evitar la
repetición de código.
Se puede acceder a los métodos de manera
¡Regresó muy
el Plan fácil, sePor
Mensual! utiliza la limitado
tiempo
fecha (->) la cual  nos permite acceder a las propiedades o métodos
de nuestra Clase.

1 echo "{$person1->fullName()} es amigo de {$person2->full

Ejemplo
Hagamos un ejercicio con un Teléfono, que en este caso sería el
objeto de la clase, algunas de las características pueden ser modelo,
color y compañía, por otro lado dentro de sus funciones tenemos
realizar llamadas y enviar mensajes. Partiendo de eso, podemos crear
nuestro objeto:

1 /**

2  * Clase Telefono

3  */

4 class Phone
5 {

6     var $model;

7     var $color;

8     var $company;

9  
10     function __construct($model, $color, $company)

11     {

12         $this->model   = $model;

13         $this->color   = $color;

14         $this->company = $company;


15     } ¡Regresó el Plan Mensual! Por tiempo limitado
16  

17     function call()

18     {

19         return 'Estoy llamando a otro móvil';

20     }
21  

22     function sms()

23     {

24         return "Estoy enviando un mensaje de texto";

25     }
26 }

27  

28 $nokia = new Phone('Nokia', 'Blanco', 'Movistar');

Como se pudo observar, las características son parte de las


propiedades del objeto, definidas en variables, y las funciones son las
acciones o métodos que dicho objeto puede realizar. Tenemos que
utilizar el símbolo ->  para interactuar con dichas propiedades y
métodos:

1 echo $nokia->call(); // Estoy llamando a otro móvil

2 echo $nokia->color; // Imprimirá Blanco

Ejercicios Propuestos
1. Realiza una definición de algún objeto de tu preferencia, por
ejemplo: Un carro. Tengo un Toyota de color rojo, con cuatro
puertas el cual puede acelerar y tocar
¡Regresó la bocina.
el Plan Mensual! Por tiempo limitado
2. A partir del ejercicio anterior, procede a crear una Clase con las
propiedades y los métodos que consideres que estén dentro de
tu definición.

Únete a la discusión
Regístrate en Styde y obtén una invitación a nuestro Slack.

Aprende desarrollo web con Laravel, Vue.js y mucho más a partir de 9


USD al mes: ver planes.

Publicado por: Duilio Palacios


Programador y profesor de PHP y Laravel. Creador de
Styde.net.

https://www.patreon.com/duiliopalacios  
 

 Clases Oop PHP

Lección siguiente 
Encapsulamiento, getters
y setters en PHP

57 Comentarios Styde.net 
1 Acceder

 Recomendar 14 t Tweet f Compartir Ordenar por los más nuevos

Únete a la conversación...

Potrebbero piacerti anche