Se está descargando su SlideShare. ×
0
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Próxima SlideShare
Cargando en...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Programación Orientada a Objetos

5,680

Published on

0 comentarios
3 Me gusta
Estadísticas
Notas
  • Sea el primero en comentar

Sin descargas
reproducciones
reproducciones totales
5,680
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
195
Comentarios
0
Me gusta
3
Insertados 0
No embeds

Denunciar contenido
Marcada como inapropiada Marcar como inapropiada
Marcar como inapropiada

Seleccione la razón para marcar esta presentación como inapropiada.

Cancelar
No notes for slide

Transcript

  • 1. La Programación Orientado a Objetos
  • 2. Introducción a la Programación Orientado a Objetos (POO). <ul><li>Significado de Orientado a Objetos </li></ul><ul><li>El significado de Orientado a Objetos nace como un conjunto de practicas que definen un estilo de programación. </li></ul><ul><li>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. </li></ul>
  • 3. Las clases y los objetos están en todas partes Vehículo Animal Figura
  • 4. <ul><li>Concepto </li></ul><ul><li>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. </li></ul>Clases <ul><ul><li>Atributos </li></ul></ul><ul><ul><li>Operaciones </li></ul></ul><ul><ul><li>Comportamiento </li></ul></ul>Lavadora marca modelo capacidad... Programar PonerRopa CerrarPuerta Lavar
  • 5. Objetos <ul><li>Concepto: </li></ul><ul><li>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. </li></ul><ul><ul><li>Valores de los atributos </li></ul></ul><ul><ul><li>Estado </li></ul></ul><ul><ul><li>Identidad </li></ul></ul>ID:Lavadora marca=“Lapava” capacidad=5 estado=enjuagando
  • 6. Programación Orientada a Objetos <ul><li>Definición: </li></ul><ul><li>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. </li></ul><ul><li>Estructura Interna de un Objeto: </li></ul><ul><li>Atributos: Define el estado del objeto </li></ul><ul><li>Métodos: Define el comportamiento del objeto </li></ul>
  • 7. Terminología de la POO <ul><li>Clase </li></ul><ul><li>Objeto </li></ul><ul><li>Atributos </li></ul><ul><li>Métodos </li></ul><ul><li>Instancia </li></ul><ul><li>Abstracción </li></ul><ul><li>Encapsulamiento </li></ul><ul><li>Modularidad </li></ul><ul><li>Jerarquía </li></ul><ul><li>Generalización </li></ul><ul><li>Herencia </li></ul><ul><li>Asociación </li></ul><ul><li>Agregación </li></ul><ul><li>Polimorfismo </li></ul><ul><li>Constructor </li></ul><ul><li>Destructor </li></ul><ul><li>Miembro Público </li></ul><ul><li>Miembro Privado </li></ul><ul><li>Miembro Protegido </li></ul>
  • 8. Terminología de la POO <ul><li>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). </li></ul><ul><li>Encapsulamiento: Es la propiedad que permite asegurar que los aspectos externos de un objeto se diferencie de sus detalles internos. </li></ul>
  • 9. Terminología de la POO <ul><li>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. </li></ul><ul><li>Jerarquía: Es una clasificación u ordenación de las abstracciones. </li></ul>
  • 10. Terminología de la POO <ul><li>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. </li></ul><ul><li>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. </li></ul>
  • 11. Terminología de la POO <ul><li>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. </li></ul><ul><li>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. </li></ul>
  • 12. Terminología de la POO <ul><li>Polimorfismo: Es el mecanismo de definir un mismo método en varios objetos de diferentes clases pero con distintas formas de implementación. </li></ul><ul><li>Constructor: Es un método que se invoca cuando un objeto es construido </li></ul><ul><li>Destructor: Es un método que se invoca cuando un objeto es destruido. </li></ul>
  • 13. Terminología de la POO <ul><li>Miembro Público: Atributo o método de una clase que puede ser accesado desde cualquier parte del programa. </li></ul><ul><li>Miembro Privado: Atributo o método de una clase que puede ser accesado solo dentro de esa clase. </li></ul><ul><li>Miembro Protegido: Atributo o método de una clase que puede ser accesado desde esa clase y sus clases heredadas. </li></ul>
  • 14. Definición de clase en PHP <ul><li>class NombreClase { </li></ul><ul><li>[ public | private | protected ] $nombreVariable; </li></ul><ul><li>[ public | private | protected ] function nombreMetodo($parametros) { </li></ul><ul><li>//Cuerpo de la función </li></ul><ul><li>} </li></ul><ul><li> [ public | private | protected ] function __construct ($parametros) { </li></ul><ul><li> //Cuerpo de la función </li></ul><ul><li>} </li></ul><ul><li>function __destruct () { </li></ul><ul><li> //Cuerpo de la función </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  • 15. La palabra reservada $this <ul><li>class NombreClase { </li></ul><ul><li>[ public | private | protected ] $nombreVariable; </li></ul><ul><li>[ public | private | protected ] function nombreMetodo_1($parametros) { </li></ul><ul><li>//Cuerpo de la función; </li></ul><ul><li>} </li></ul><ul><li>[ public | private | protected ] function nombreMetodo_2($parametros) { </li></ul><ul><li>$this->nombre_variable = valor; </li></ul><ul><li>$this->nombreMetodo_1 ($parametros); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  • 16. Ejemplo <ul><li>class clasePersona { </li></ul><ul><li>private $nombre; </li></ul><ul><li>private $anio_nacimento; </li></ul><ul><li>private $edad; </li></ul><ul><li>public $estado_civil; </li></ul><ul><li>public function __construct ($nombre, $anio_nacimiento) { </li></ul><ul><li>$this->nombre = $nombre; </li></ul><ul><li>$this->anio_nacimiento = $anio_nacimiento; </li></ul><ul><li>} </li></ul><ul><li>private function calcular_edad($anio_actual) { </li></ul><ul><li>$edad = $anio_actual - $this->anio_nacimiento; </li></ul><ul><li>return $edad; </li></ul><ul><li>} </li></ul><ul><li>… . </li></ul><ul><li>} </li></ul>
  • 17. Ejemplo <ul><li>class Persona { </li></ul><ul><li>… . </li></ul><ul><li>public function obtener_nombre() { </li></ul><ul><li>return $this->nombre; </li></ul><ul><li>} </li></ul><ul><li>public function obtener_edad($anio_actual) { </li></ul><ul><li>$anio_actual = date(“Y”,mktime()); </li></ul><ul><li>$this->edad = $this->calcular_edad($anio_actual); </li></ul><ul><li>return $this->edad; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  • 18. Construcción y Manipulación de Objetos <ul><li>Creación de un objeto </li></ul><ul><li>$objeto = new NombreClase($parametros); </li></ul><ul><li>Acceso a un atributo de una clase </li></ul><ul><li>$objeto->variable = valor; </li></ul><ul><li>Acceso a un metodo o función de una clase </li></ul><ul><li>$objeto->nombreMetodo($parametros); </li></ul>
  • 19. Ejemplo <ul><li>$persona1 = new clasePersona(&quot;Juan&quot;, 1983); </li></ul><ul><li>$persona1->estado_civil = &quot;soltero“; </li></ul><ul><li>echo &quot;1) El estado civil de la persona 1 es: &quot;. $persona1->estado_civil . &quot;<br><br>“; </li></ul><ul><li>$persona2 = new clasePersona(&quot;Maria&quot;, 1987); </li></ul><ul><li>$persona2->estado_civil = &quot;casada“; </li></ul><ul><li>echo &quot;2) El estado civil de la persona 2 es: &quot;. $persona2->estado_civil . &quot;<br><br>“; </li></ul><ul><li>echo &quot;3) El nombre de la persona 1 es: &quot;. $persona1->obtener_nombre(). &quot;<br><br>&quot;; </li></ul><ul><li>echo &quot;4) El nombre de la persona 2 es: &quot;. $persona2->obtener_nombre(). &quot;<br><br>&quot;; </li></ul><ul><li>echo &quot;5) La edad de la persona 1 es: &quot;. $persona1->obtener_edad(). &quot;<br><br>&quot;; </li></ul><ul><li>echo &quot;6) La edad de la persona 2 es: &quot;. $persona2->obtener_edad(). &quot;<br><br>&quot;; </li></ul>

×