SlideShare una empresa de Scribd logo
PHP orientado
a objetos
 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:
phpapp02- programación orientado a  objetvos
 Los atributos normalmente son privados
(private)
phpapp02- programación orientado a  objetvos
 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.
phpapp02- programación orientado a  objetvos
 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.
phpapp02- programación orientado a  objetvos
, );
, );
, );
<?php
$menu1 ,,�.;en 1_�· ( ) ;
$menu1 cargarOpcion(1
http://www.google.com1 1
Google1
$menu1 cargarOpcion(1
http://www.yahoo.com1 1
Yhahoo1
$menu1 cargarOpcion(1
http://www.msn.com1 1
MSN1
$menu1 mo s t r-ar- () _;
?
>
 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.
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
 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.
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
1 ncior
<?php
$cabecera C obe c er añaq i_ no ( ' E 1 blo.oa del pra.oar-.amador·' , 'center'), �·
$cabecera graficar· () _;
?>
L ama el mls o méto o
den o de a m s clase
phpapp02- programación orientado a  objetvos
 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.
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
e 055 Opcion
$titulo;
$enlacej
$colorFond
oj
funct ion
_co·, st r ; et
($ti t , $enl.,
$cfon)
{
$this titulo
$tit;
$this enlace
$enl;
$this colorFondo
$cfonj
}
function
graficar(}
{
e c r o '<a
style="backgr·ound-
color�:' $this
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
 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?
m o
Software
DeAplicacion DeBase
E'rocesadorTexto PlanillaDeCalculo
SistemaOperativo
i'Jord WordPerfect Excel Lotus123
Linux Windows
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
phpapp02- programación orientado a  objetvos
 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.
phpapp02- programación orientado a  objetvos

Más contenido relacionado

PDF
Php orientado a objetos, Ronald Nina
PDF
Lenguaje de Programación Orientada a Objetos
PDF
Teoría Programación Orientada a Objetos.
DOC
Php orientado a_objetos
PDF
[ES] Programación orientada a objeto con java
PDF
Guia poo php
PPTX
programacion orientada a objetos con PHP .pptx
DOCX
Programación estructurada
Php orientado a objetos, Ronald Nina
Lenguaje de Programación Orientada a Objetos
Teoría Programación Orientada a Objetos.
Php orientado a_objetos
[ES] Programación orientada a objeto con java
Guia poo php
programacion orientada a objetos con PHP .pptx
Programación estructurada

Similar a phpapp02- programación orientado a objetvos (20)

DOC
Unidad III epoo
PPTX
Programacion orientada a_objetos
DOCX
PDF
Programación Orientada a Objetos en Java - Parte I 2015
DOCX
Cuestionario poo
DOCX
Cuestionario poo
DOCX
Cuestionario poo
PPTX
Guia poo
PPT
Qué es la poo
PPT
FPJUCE - Capitulo2
PDF
Conceptos de programación orientada a objetos
DOCX
Cuestionario poo
PDF
Programacion orientada-a-objetos
PDF
Jyoc java-cap08 principios poo
PDF
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PPTX
Poo programación orientada a objetos en python presentación ppts
PPT
Sesion2 Php Oo Y Mysql
PPT
Clase 2
PDF
Aprendiendo objetos en c++
Unidad III epoo
Programacion orientada a_objetos
Programación Orientada a Objetos en Java - Parte I 2015
Cuestionario poo
Cuestionario poo
Cuestionario poo
Guia poo
Qué es la poo
FPJUCE - Capitulo2
Conceptos de programación orientada a objetos
Cuestionario poo
Programacion orientada-a-objetos
Jyoc java-cap08 principios poo
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
Poo programación orientada a objetos en python presentación ppts
Sesion2 Php Oo Y Mysql
Clase 2
Aprendiendo objetos en c++
Publicidad

Más de Danval3 (20)

PPTX
sst La distracción - conceptos basicos.pptx
PPTX
Competencia digital para la industria 6.pptx
PPTX
MODELO CUANTITATIVO-DESCRIPCION DEL MODELO.pptx
PPTX
MODELO DE DATOS Y MODELOS DE BASE DE DATOS.pptx
PPTX
Basico-Sesion-01-2- conceptos basico.pptx
PPTX
Introduccion a JavaScript - conceptos.pptx
PPT
tipos de redes - introducción a redes.ppt
PPTX
Sistemas de Archivos_presentacion25.pptx
PPTX
Sesión 1 Get Connected_sistema de analisis.pptx
PPTX
Valor del dinero en el tiempo_modelos.pptx
PPTX
CMP_SES02-Como Planificar un proyecto.pptx
PPTX
04_PRediseñada_Conceptos_basicos_ppt.pptx
PPTX
04_Formas_PRESENTACIONES_BASICAS_PPT.pptx
PPT
MODELANDO UNA BASE DE DATOS_CONCEPTOS.ppt
PPTX
Esquemas._MODELO_DE_ESQUEMA_PPT_DOCUMENYOSpptx
PPTX
CEI_SES03_excel_avanzado_base_datos.pptx
PPTX
MODELO DE DATOS.pptx - para usuarios de
PPTX
Option D Relacion de Conceptos basicos de modelamiento
PPTX
DIAPOSITIVAS DE CITAS TEXTUALES EDICION APA.
PPTX
Recursos para el crecimiento económico.pptx
sst La distracción - conceptos basicos.pptx
Competencia digital para la industria 6.pptx
MODELO CUANTITATIVO-DESCRIPCION DEL MODELO.pptx
MODELO DE DATOS Y MODELOS DE BASE DE DATOS.pptx
Basico-Sesion-01-2- conceptos basico.pptx
Introduccion a JavaScript - conceptos.pptx
tipos de redes - introducción a redes.ppt
Sistemas de Archivos_presentacion25.pptx
Sesión 1 Get Connected_sistema de analisis.pptx
Valor del dinero en el tiempo_modelos.pptx
CMP_SES02-Como Planificar un proyecto.pptx
04_PRediseñada_Conceptos_basicos_ppt.pptx
04_Formas_PRESENTACIONES_BASICAS_PPT.pptx
MODELANDO UNA BASE DE DATOS_CONCEPTOS.ppt
Esquemas._MODELO_DE_ESQUEMA_PPT_DOCUMENYOSpptx
CEI_SES03_excel_avanzado_base_datos.pptx
MODELO DE DATOS.pptx - para usuarios de
Option D Relacion de Conceptos basicos de modelamiento
DIAPOSITIVAS DE CITAS TEXTUALES EDICION APA.
Recursos para el crecimiento económico.pptx
Publicidad

Último (20)

PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
ciencias-1.pdf libro cuarto basico niños
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
Tomo 1 de biologia gratis ultra plusenmas
Híper Mega Repaso Histológico Bloque 3.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
ciencias-1.pdf libro cuarto basico niños
Cosacos y hombres del Este en el Heer.ppt
Fundamentos_Educacion_a_Distancia_ABC.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Escuela Sabática 6. A través del Mar Rojo.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
caso clínico iam clinica y semiología l3.pptx
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf

phpapp02- programación orientado a objetvos

  • 2.  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.
  • 3.  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
  • 4.  Con el lanzamiento de PHP 5, los programadores en PHP finalmente tienen el poder de programar.  Finalmente tiene una completa infraestructura POO
  • 5.  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.
  • 6.  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.
  • 7.  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.
  • 8.  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.
  • 9.  Una clase es una plantilla (molde), que define atributos (lo que conocemos como variables) y métodos (lo que conocemos como funciones).
  • 10.  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.
  • 11.  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.
  • 12.  La sintaxis básica para declarar una clase es:
  • 14.  Los atributos normalmente son privados (private)
  • 16.  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.
  • 18.  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.
  • 19.  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.
  • 20.  Lo más conveniente es que los atributos sean privados para que solo los métodos de la clase puedan modificarlos.
  • 21.  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.
  • 23. , ); , ); , ); <?php $menu1 ,,�.;en 1_�· ( ) ; $menu1 cargarOpcion(1 http://www.google.com1 1 Google1 $menu1 cargarOpcion(1 http://www.yahoo.com1 1 Yhahoo1 $menu1 cargarOpcion(1 http://www.msn.com1 1 MSN1 $menu1 mo s t r-ar- () _; ? >
  • 24.  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.
  • 25.  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.
  • 28.  El constructor es un método especial de una clase. El objetivo fundamental del constructor es inicializar los atributos del objeto que creamos.
  • 29.  Básicamente el constructor remplaza al método inicializar que habíamos hecho en el concepto anterior.
  • 30.  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.
  • 33. 1 ncior <?php $cabecera C obe c er añaq i_ no ( ' E 1 blo.oa del pra.oar-.amador·' , 'center'), �· $cabecera graficar· () _; ?>
  • 34. L ama el mls o méto o den o de a m s clase
  • 36.  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.
  • 42. e 055 Opcion $titulo; $enlacej $colorFond oj funct ion _co·, st r ; et ($ti t , $enl., $cfon) { $this titulo $tit; $this enlace $enl; $this colorFondo $cfonj } function graficar(} { e c r o '<a style="backgr·ound- color�:' $this
  • 45.  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.
  • 46.  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.
  • 47.  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.
  • 48.  Imaginemos la clase Vehículo. Qué clases podrían derivar de ella?
  • 49. m o Software DeAplicacion DeBase E'rocesadorTexto PlanillaDeCalculo SistemaOperativo i'Jord WordPerfect Excel Lotus123 Linux Windows
  • 53.  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.
  • 54.  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)
  • 55.  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.
  • 56.  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.
  • 57.  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.