Se está descargando su SlideShare. ×
0
La Programación Orientado a Objetos
Introducción a la Programación Orientado a Objetos (POO). <ul><li>Significado de Orientado a Objetos </li></ul><ul><li>El ...
Las clases y los objetos están en todas partes Vehículo Animal Figura
<ul><li>Concepto </li></ul><ul><li>Generalmente, una clase se puede definir como una descripción abstracta de un grupo de ...
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...
Programación Orientada a Objetos <ul><li>Definición: </li></ul><ul><li>La POO es un estilo de programación, donde todos lo...
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><...
Terminología de la POO  <ul><li>Abstracción:   La abstracción es la capacidad que permite representar las características ...
Terminología de la POO <ul><li>Modularidad:   La modularidad es la propiedad que permite dividir una aplicación en partes ...
Terminología de la POO <ul><li>Generalización:  Una clase que comparte atributos y métodos similares con otras clases   se...
Terminología de la POO <ul><li>Asociación:  Una asociación es una relación semántica entre objetos. Cuando un objeto acced...
Terminología de la POO <ul><li>Polimorfismo:  Es el mecanismo de definir un mismo método en varios objetos de diferentes c...
Terminología de la POO <ul><li>Miembro Público:  Atributo o método de una clase que puede ser accesado desde cualquier par...
Definición de clase en PHP <ul><li>class  NombreClase { </li></ul><ul><li>[ public  |  private  |  protected  ]  $nombreVa...
La palabra reservada $this <ul><li>class  NombreClase { </li></ul><ul><li>[ public  |  private  |  protected  ]  $nombreVa...
Ejemplo <ul><li>class  clasePersona { </li></ul><ul><li>private  $nombre; </li></ul><ul><li>private  $anio_nacimento; </li...
Ejemplo <ul><li>class  Persona { </li></ul><ul><li>… . </li></ul><ul><li>public function  obtener_nombre() { </li></ul><ul...
Construcción y Manipulación de Objetos <ul><li>Creación de un objeto </li></ul><ul><li>$objeto = new NombreClase($parametr...
Ejemplo <ul><li>$persona1 = new clasePersona("Juan", 1983); </li></ul><ul><li>$persona1->estado_civil = "so...
Próxima SlideShare
Cargando en...5
×

Programación Orientada a Objetos

5,891

Published on

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

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

No notes for slide

Transcript of "Programación Orientada a Objetos"

  1. 1. La Programación Orientado a Objetos
  2. 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. 3. Las clases y los objetos están en todas partes Vehículo Animal Figura
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×