php orientado a objetos, ronald nina

58
PHP orientado a objetos Ronald Nina Layme Capacitador

Upload: ronald-franz-nina-layme

Post on 12-Jun-2015

146 views

Category:

Technology


6 download

DESCRIPTION

PHP orientado a objetos Introducción

TRANSCRIPT

Page 1: Php orientado a objetos, Ronald Nina

PHP orientado

a objetos

Ronald Nina Layme

Capacitador

Page 2: Php orientado a objetos, Ronald Nina

La cosa mas difícil para aprender (y

enseñar dicho sea de paso) en PHP

orientado a objetos es... lo básico. Pero

una vez que obtengas el conocimiento,

el resto vendrá mucho, mucho mas fácil.

Page 3: Php orientado a objetos, Ronald Nina

La Programación Orientada a Objetos

(POO) es un tipo de programación

agregada a PHP 5 que hace de la

construcción compleja, modular y

reusable de aplicaciones web mucho

mas fácil

Page 4: Php orientado a objetos, Ronald Nina

Con el lanzamiento de PHP 5, los

programadores en PHP finalmente tienen

el poder de programar.

Finalmente tiene una completa

infraestructura POO

Page 5: Php orientado a objetos, Ronald Nina

La diferencia entre construir una aplicación

al estilo antiguo (por procedimiento) versus

la manera POO.

Cuales son los principios básicos de la POO y

como se usan en PHP.

Cuando debes usar POO en tus scripts PHP.

Page 6: Php orientado a objetos, Ronald Nina

Una clase es un conjunto de variables,

llamados atributos, y funciones, llamadas

métodos, que trabajan sobre esas variables.

Las clases son, al fin y al cabo, una definición:

una especificación de propiedades y

funcionalidades de elementos que van a

participar en nuestros programas.

Page 7: Php orientado a objetos, Ronald Nina

La programación orientada a objetos se

basa en la programación de clases; a

diferencia de la programación

estructurada, que está centrada en las

funciones.

Page 8: Php orientado a objetos, Ronald Nina

Una clase es un molde del que luego se

pueden crear múltiples objetos, con

similares características.

Un poco más abajo se define una clase

Persona y luego se crean dos objetos de

dicha clase.

Page 9: Php orientado a objetos, Ronald Nina

Una clase es una plantilla (molde), que

define atributos (lo que conocemos

como variables) y métodos (lo que

conocemos como funciones).

Page 10: Php orientado a objetos, Ronald Nina

La clase define los atributos y métodos

comunes a los objetos de ese tipo, pero

luego, cada objeto tendrá sus propios

valores y compartirán las mismas

funciones.

Page 11: Php orientado a objetos, Ronald Nina

Debemos crear una clase antes de poder

crear objetos (instancias) de esa clase.

Al crear un objeto de una clase, se dice

que se crea una instancia de la clase o

un objeto propiamente dicho.

Page 12: Php orientado a objetos, Ronald Nina

La sintaxis básica para declarar una clase

es:

Page 13: Php orientado a objetos, Ronald Nina
Page 14: Php orientado a objetos, Ronald Nina

Los atributos normalmente son privados

(private)

Page 15: Php orientado a objetos, Ronald Nina
Page 16: Php orientado a objetos, Ronald Nina

Esto es una de las ventajas

fundamentales de la Programación

Orientada a Objetos (POO), es decir

reutilización de código (gracias a que

está encapsulada en clases) es muy

sencilla.

Page 17: Php orientado a objetos, Ronald Nina
Page 18: Php orientado a objetos, Ronald Nina

Los atributos son las características, cualidades,

propiedades distintivas de cada clase.

eterminan la apariencia, estado y demás

particularidades de la clase.

Varios objetos de una misma clase tendrán los

mismos atributos pero con valores diferentes.

Page 19: Php orientado a objetos, Ronald Nina

Cuando creamos un objeto de una clase

determinada, los atributos declarados por

la clase son localizadas en memoria y

pueden ser modificados mediante los

métodos.

Page 20: Php orientado a objetos, Ronald Nina

Lo más conveniente es que los atributos

sean privados para que solo los métodos

de la clase puedan modificarlos.

Page 21: Php orientado a objetos, Ronald Nina

Implementar una clase que muestre una lista de

hipervínculos en forma horizontal (básicamente

un menú de opciones)

Podemos definir dos vectores paralelos que

almacenen las direcciones y los títulos

respectivamente.

Definiremos dos métodos: cargarOpcion y

mostrar.

Page 22: Php orientado a objetos, Ronald Nina
Page 23: Php orientado a objetos, Ronald Nina
Page 24: Php orientado a objetos, Ronald Nina

Los métodos son como las funciones en

los lenguajes estructurados, pero están

definidos dentro de una clase y operan

sobre los atributos de dicha clase.

Page 25: Php orientado a objetos, Ronald Nina

El objetivo de un método es ejecutar las

actividades que tiene encomendada la

clase a la cual pertenece.

Los atributos de un objeto se modifican

mediante llamadas a sus métodos.

Page 26: Php orientado a objetos, Ronald Nina
Page 27: Php orientado a objetos, Ronald Nina
Page 28: Php orientado a objetos, Ronald Nina

El constructor es un método especial de

una clase. El objetivo fundamental del

constructor es inicializar los atributos del

objeto que creamos.

Page 29: Php orientado a objetos, Ronald Nina

Básicamente el constructor remplaza al

método inicializar que habíamos hecho

en el concepto anterior.

Page 30: Php orientado a objetos, Ronald Nina

El constructor se ejecuta inmediatamente luego

de crear un objeto y no puede ser llamado

nuevamente.

Un constructor no puede retornar dato.

Un constructor puede recibir parámetros que se

utilizan normalmente para inicializar atributos.

El constructor es un método opcional, de todos

modos es muy común definirlo.

Page 31: Php orientado a objetos, Ronald Nina
Page 32: Php orientado a objetos, Ronald Nina
Page 33: Php orientado a objetos, Ronald Nina
Page 34: Php orientado a objetos, Ronald Nina
Page 35: Php orientado a objetos, Ronald Nina
Page 36: Php orientado a objetos, Ronald Nina

Un método privado (private) solo puede

ser llamado desde otro método de la

clase. No podemos llamar a un método

privados desde donde definimos un

objeto.

Page 37: Php orientado a objetos, Ronald Nina
Page 38: Php orientado a objetos, Ronald Nina
Page 39: Php orientado a objetos, Ronald Nina
Page 40: Php orientado a objetos, Ronald Nina
Page 41: Php orientado a objetos, Ronald Nina
Page 42: Php orientado a objetos, Ronald Nina
Page 43: Php orientado a objetos, Ronald Nina
Page 44: Php orientado a objetos, Ronald Nina
Page 45: Php orientado a objetos, Ronald Nina

La herencia significa que se pueden

crear nuevas clases partiendo de clases

existentes, que tendrá todas los atributos

y los métodos de su 'superclase' o 'clase

padre' y además se le podrán añadir

otros atributos y métodos propios.

Page 46: Php orientado a objetos, Ronald Nina

Clase de la que desciende o deriva una

clase. Las clases hijas (descendientes)

heredan (incorporan) automáticamente

los atributos y métodos de la la clase

padre.

Page 47: Php orientado a objetos, Ronald Nina

Clase desciendiente de otra. Hereda

automáticamente los atributos y métodos

de su superclase. Es una especialización

de otra clase. Admiten la definición de

nuevos atributos y métodos para

aumentar la especialización de la clase.

Page 48: Php orientado a objetos, Ronald Nina

Imaginemos la clase Vehículo. Qué clases

podrían derivar de ella?

Page 49: Php orientado a objetos, Ronald Nina
Page 50: Php orientado a objetos, Ronald Nina
Page 51: Php orientado a objetos, Ronald Nina
Page 52: Php orientado a objetos, Ronald Nina
Page 53: Php orientado a objetos, Ronald Nina

Habíamos dicho que otro objetivo de la POO

es el encapsulamiento (es decir ocultar todo

aquello que no le interese a otros objetos),

para lograr esto debemos definir los atributos

y métodos como privados. El inconveniente

es cuando debemos utilizar herencia.

Page 54: Php orientado a objetos, Ronald Nina

Una subclase no puede acceder a los

atributos y métodos privados de la clase

padre. Para poder accederlos deberíamos

definirlos como públicos (pero esto trae como

contrapartida que perdemos el

encapsulamiento de la clase)

Page 55: Php orientado a objetos, Ronald Nina

Aquí es donde entra en juego el

modificador protected. Un atributo o

método protected puede ser accedido

por la clase, por todas sus subclases pero

no por los objetos que difinimos de dichas

clases.

Page 56: Php orientado a objetos, Ronald Nina

Lo más conveniente es sobreescribir

métodos para completar el algoritmo del

método de la clase padre. No es bueno

sobreescribir un método y cambiar

completamente su comportamiento.

Page 57: Php orientado a objetos, Ronald Nina

El objetivo principal es liberar recursos que solicitó

el objeto (conexión a la base de datos, creación

de imágenes dinámicas etc.)

Es el último método que se ejecuta de la clase.

Se ejecuta en forma automática, es decir no

tenemos que llamarlo.

Debe llamarse __destruct.

No retorna datos.

Page 58: Php orientado a objetos, Ronald Nina