1. LA PROGRAMACIÓN
ORIENTADO A OBJETOS
Objetivos:
Definir que es POO.
Identificar la sintaxis de los métodos, procedimientos, herencia y polimorfismo en la POO.
Desarrollar script con la estructura de la orientación a objetos.
Nombrar las diferentes funciones para la conexión de bases de datos en MySQL con PHP.
Escuela Especializada en Ingeniería ITCA-FEPADE
Regional Santa Ana
Departamento de Computación
Asignatura: Desarrollo de Aplicaciones Web
Docente:
2. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADO A
OBJETOS (POO).
• Significado de Orientado a Objetos
-El significado de Orientado a Objetos nace como un conjunto de practicas
que definen un estilo de programación.
- Los seres humanos perciben el mundo como si estuviera formado por
objetos: mesas, sillas, computadoras, coches, cuentas bancarias, etc. Donde
conciente o inconscientemente tienden a organizarlos, clasificarlos,
relacionarlos entre si, y hasta extraen las características más importantes
dependiendo de lo que quieren hacer con ellas.
3. LAS CLASES Y LOS OBJETOS ESTÁN EN TODAS
PARTES
Vehículo
Animal
Figura
4. CLASES
• Concepto
Generalmente, una clase se puede definir como una descripción abstracta de un
grupo de objetos, cada uno de los cuales tiene una serie de atributos, un estado
específico y es capaz de realizar una serie de operaciones.
Atributos
Operaciones
Comportamiento
Lavadora
marca
modelo
capacidad...
Programar
PonerRopa
CerrarPuerta
Lavar
5. OBJETOS
• Concepto:
Un objeto, no es más que una instancia de una clase. La instancia de una clase
significa definir un objeto dándole valores a sus atributos y comportamiento, y
realizando operaciones permitidas por la clase.
Valores de los atributos
Estado
Identidad
ID:Lavadora
marca=“Lapava”
capacidad=5
estado=enjuagando
6. PROGRAMACIÓN ORIENTADA A OBJETOS
• Definición:
La POO es un estilo de programación, donde todos los elementos que forman parte del
problema se conciben como objetos, definiendo cuales son sus atributos y
comportamiento, como se relacionan entre sí y como están organizadas.
Estructura Interna de un Objeto:
Atributos: Define el estado del objeto
Métodos: Define el comportamiento del objeto
8. TERMINOLOGÍA DE LA POO
• Abstracción: La abstracción es la capacidad que permite representar
las características esenciales de un objeto sin preocuparse de las
restantes características (no esenciales).
• Encapsulamiento: Es la propiedad que permite asegurar que los
aspectos externos de un objeto se diferencie de sus detalles internos.
9. TERMINOLOGÍA DE LA POO
• Modularidad: La modularidad es la propiedad que permite dividir una
aplicación en partes más pequeñas ( llamadas módulos ), cada una de
las cuales debe ser tan independiente como sea posible de la aplicación
en si y de las restantes partes.
• Jerarquía: Es una clasificación u ordenación de las abstracciones.
10. TERMINOLOGÍA DE LA POO
• Generalización: Una clase que comparte atributos y métodos similares
con otras clases se le llama superclase o clase padre. Cuando
definimos una clase padre estamos generalizando.
• Herencia: Del mismo modo, cuando definimos una clase a partir de
una clase padre estamos creando una subclase. La definición de una
subclase se le denomina herencia.
11. TERMINOLOGÍA DE LA POO
• Polimorfismo: Es el mecanismo de definir un mismo
método en varios objetos de diferentes clases pero
con distintas formas de implementación.
• Constructor: Es un método que se invoca cuando un
objeto es construido
• Destructor: Es un método que se invoca cuando un
objeto es destruido.
12. TERMINOLOGÍA DE LA POO
• Asociación: Una asociación es una relación semántica entre objetos.
Cuando un objeto accede a los atributos y métodos de otro objeto
estamos definiendo una asociación entre ellos.
• Agregación: La agregación es una relación que define que un objeto es
parte de otro objeto. Cuando definimos que un objeto tiene como
atributo otro objeto decimos que es una agregación. A través de la
agregación se definen objetos compuestos.
14. CLASES PHP
• las clases son tan solo la definición del objeto, así que para poder trabajar con ellas es
necesario instanciarlas mediante la creación de un objeto. Así el objeto es la
representación útil de la clase que lo define.
• Para instanciar una clase y asi crear el objeto lo haremos de la siguiente forma:
• $cuadrado = new Poligono();
• $triangulo = new Poligono();
15. CLASES, UTILIDAD Y DEFINICION
• La clase es la base de la POO, programación orientada a objetos. La clase es utilizada
para definir un objeto. Dentro de una clase declaramos los atributos (propiedades) y
métodos que seran utilizados por el objeto.
Asi podemos decir que la clase es el conjunto de declaraciones que van a definir los
tipos de objetos que utilizaremos en el futuro.
• Ejemplo: clasedefinicion.php
16. INTERFACES
• Las interfaces es el recurso ideal para la implementación del polimorfismo, ya que las
interfaz es un conjunto de declaraciones de funciones o métodos sin incluir su
codificación, dejando a la clase que implementa la interfaz esta tarea.
• Ejemplo: interface.php
17. __CONSTRUCT Y __DESTRUCT
• __construct y __destruct es una novedad que se incorpora desde PHP 5.
• El constructor de una clase es utilizado para inicializar la misma, asi podremos
asignar algunos valores a las propiedades que se crean convenientes en el momento
de creacion de un objeto.
El destructor sin embargo es ejecutado en el momento en el que el objeto deja de
existir. Asi aquellas tareas que queramos ejecutar en el momento de liberar un
objeto las definiremos en el destructor de la clase.
• Ejemplo: clase_constructor_destructor.php
18. POLIFORMISMO
• El polimorfismo, como su nombre indica, sugiere múltiples formas. En programación
cuando hablamos de polimorfismo nos referimos a la capacidad de acceder a
múltiples funciones a través del mismo interfaz.
• Ejemplo: polimorfismo.php
19. CLASE ABSTRACTA
• Las clases abstractas son similares a las clases normales en su construcción y
concepto aunque se diferencian de estas en 2 aspectos fundamentales :
• Una clase abstracta no puede ser instanciada, no podremos crear objetos a partir de
ellas.
• Una clase abstracta puede incorporar métodos abstractos. Los métodos abstractos
son aquellos que solo existe su declaración, dejando su implementación a las futuras
clases extendidas o derivadas.
20. CLASE ABSTRACTA
• Importante:
Todos los métodos declarados como abstractos, deberán pertenecer necesariamente a
una clase abstracta. Es decir que una clase normal no podremos definir un método
como abstracto.
Una clase abstracta tiene la misma estructura que una clase normal, solo es
necesario añadir la palabra clave abstract al inicio de su declaración.
• Ejemplo: claseabstracta.php
21. TERMINOLOGÍA DE LA POO
• Miembro Público: Atributo o método de una clase que puede ser
accesado desde cualquier parte del programa.
• Miembro Privado: Atributo o método de una clase que puede ser
accesado solo dentro de esa clase.
• Miembro Protegido: Atributo o método de una clase que puede ser
accesado desde esa clase y sus clases heredadas.
22. DEFINICIÓN DE CLASE EN PHP
<?php
class FirstClass {
var $x; // data member – no ways of specifying private/protected
function setX ($a) {
$this->x = $a;
}
function getX () {
return $this->x;
}
function printX(){ echo $this->x;}
} // class
$instanceA = new FirstClass;
?>
23. USANDO HERENCIA EN PHP (EXTENDS)
<?php
class SecondClass extends FirstClass{
var $Y;
function setY ($a) {
if ( getX()>0) $this->Y = $a; // getX inherited
else $this->Y = 0;
}
}
?>
• La herencia multiple no es soportada.