PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

11
Programación Orientada a Objetos Yan David Burbano Amariles PROGRAMACIÓN ORIENTADA A OBJETO I La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO. Cómo se piensa en objetos Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.

description

Definición del paradigma "programación orientada a objetos" utilizando el lenguaje de programación PHP.

Transcript of PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Page 1: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

PROGRAMACIÓN ORIENTADA A OBJETO I

La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO.Cómo se piensa en objetosPensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc. Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Page 2: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

PROGRAMACIÓN ORIENTADA A OBJETOS EN PHP

Utilizamos una palabra reservada para crear la clase en mi código PHP.Los nombres de las clases deben ser creados respetando las mismas condiciones que la sintaxis de PHP exige.No se debe iniciar el nombre con números, o contener caracteres extraños.

Si yo ejecuto mi archivo desde el Localhost, pues no mostrará nada aún.

Lo primero que haremos dentro mi clase es declarar una propiedad, ojo no es una variable, es una propiedad. Recordemos que dentro de mi clase existirán propiedades y métodos.

Page 3: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Las propiedades son las características o atributos que conforman un objeto que está siendo definido dentro mi clase en PHP.

En las propiedades tenemos la posibilidad de definirlas Privadas o Públicas. Más adelante hablaremos de qué ventajas tiene que sea definida o pública o privada, por ahora para comenzar en este ejemplo la definiremos pública.

Recordemos que no es una variable aunque en la sintaxis se vea igual, deja de ser una variable al ser definida dentro de mi clase.

Si ejecutamos nuestro archivo PHP no pasa nada aún.

A continuación definiremos un método.

Page 4: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Hasta ahora resumiendo, definimos una clase, la cual tiene un atributo y un método pero aún mi archivo php no funciona porque no lo estamos utilizando, solo lo declaramos.

Los métodos son para declarar acciones.Vamos a declarar una acción dentro de mi método llamado acción() y lo único que hará será imprimir una cadena “Hola Mundo”

Si nuevamente trato de ejecutar mi código php en Localhost pues no pasará nada por una razón, a pesar de haber definido el método, las propiedades y la acción en concreto no me muestra nada porque no lo he invocado, es decir, no he llamado al método para que se ejecute por ninguna parte del código.

Para poder utilizar mi método y mi propiedad debo declarar ya por fin el objeto.

Page 5: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Para definir mi objeto lo hacemos por fuera de las llaves que conforman la clase. Coloco en mi ejemplo un objeto llamado $a. y luego, respetando la sintaxis de PHP, defino new y seguido a esto el nombre de mi Clase definida previamente, esto se hace para que mi objeto pueda utilizar los métodos y propiedades de dicha clase.Si ejecuto mi código en el navegador aún no sucede nada.Vamos a llamar el método ahora sí.

Page 6: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Si vamos a nuestro navegador ahora sí nos muestra un mensaje porque evidentemente ya utilizamos el método en mi objeto llamado $a.

Podemos crear los objetos que consideremos necesarios y que utilicen mi clase creada previamente.

Crearemos una variable llamada $b.

Page 7: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Podemos tener cuantos objetos necesitemos en nuestro archivo PHP. Como no tengo más métodos entonces utilizaremos el mismo que está creado, en mi archivo PHP del navegador deben aparecer dos “Hola Mundo!!”.

Ahora vamos a utilizar o manipular la propiedad de mi clase.

Para utilizar mi propiedad primero llamo el objeto y luego lo conecto por medio del -> a mi propiedad.

Page 8: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Como le di echo, el imprimirá mi propiedad en pantalla.

Ahora si hablemos de las palabras reservadas public, private o protected que se utilizan a la hora de definir propiedades.

Public, private o protected son el alcance que tendrán nuestras propiedades dentro de mi aplicación.Es importante conocer las ventajas o desventajas que tendrán nuestras propiedades dependiendo del alcance que yo defina.Si la defino public estoy básicamente diciendo que cualquier parte de mi programación puede acceder a esta propiedad y manipularla y cambiarla si así lo quisiera.Si la defino protected estoy diciendo que mi propiedad solo puede ser manipulada o accedida desde MI PROPIA CLASE, nadie más la podrá acceder. Bueno solo la propia clase o las clases hijas de esta clase, este es un concepto que en programación se llama Herencia que veremos posteriormente.Si la defino private estoy diciendo que esta propiedad solo la puede utilizar Mi CLASE.Hagamos un ejemplo.

Si el objeto $a en la propiedad nombre1 le doy un echo:

Page 9: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Me imprime.

Si intento cambiar o reasignar un valor a la propiedad $nombre1 al ser público sucederá esto.

Page 10: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Y en mi navegador

En mi código reasigne el valor de mi propiedad $nombre1, cuando se había definido tenia el valor de “David” pero luego le reasigne un valor.Al ser $nombre1 una propiedad pública mi clase puede manipularla o desde afuera mi objeto la puede manipular como se mostró en el ejemplo.

Ahora haremos el ejemplo con la propiedad $nombre2 que es una propiedad protegida. Primero la imprimiremos.

Page 11: PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)

Programación Orientada a ObjetosYan David Burbano Amariles

Al ejecutar este código me muestra lo siguiente en mi navegador.

El error nos dice que esta propiedad es inaccesible porque es protegida. Lo mismo sucedería si definimos una propiedad privada, ya que protegida o privada no se pueden manipular desde afuera como ocurre con public.

Un ejemplo real puede ser que definamos el atributo para el nombre del usuario dentro de mi aplicación, no se podría por seguridad definirlo public, porque en teoría no podemos dejar que cualquiera o desde cualquier parte nos modifique el nombre de usuario.