Php orientado a objetos, Ronald Nina
-
Upload
ronald-franz-nina-layme -
Category
Technology
-
view
151 -
download
6
description
Transcript of Php orientado a objetos, Ronald Nina
PHP orientado
a objetos
Ronald Nina Layme
Capacitador
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.
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
Con el lanzamiento de PHP 5, los
programadores en PHP finalmente tienen
el poder de programar.
Finalmente tiene una completa
infraestructura POO
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.
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.
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.
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.
Una clase es una plantilla (molde), que
define atributos (lo que conocemos
como variables) y métodos (lo que
conocemos como funciones).
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.
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.
La sintaxis básica para declarar una clase
es:
Los atributos normalmente son privados
(private)
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.
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.
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.
Lo más conveniente es que los atributos
sean privados para que solo los métodos
de la clase puedan modificarlos.
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.
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.
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.
El constructor es un método especial de
una clase. El objetivo fundamental del
constructor es inicializar los atributos del
objeto que creamos.
Básicamente el constructor remplaza al
método inicializar que habíamos hecho
en el concepto anterior.
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.
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.
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.
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.
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.
Imaginemos la clase Vehículo. Qué clases
podrían derivar de ella?
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.
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)
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.
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.
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.