SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Ponentes:
Manuel Martínez Jiménez
Juan Miguel Hernández Arquero
I.     Objetivos de la charla.
II.    Introducción
III.   Conceptos básicos (Clase, objeto, paso de
       mensajes)
IV.    Características de la POO ( Herencia, sobrecarga,
       polimorfismo )
V.     Conceptos necesarios de C# ( Constructor,
       destructor de basura)
VI.    Ejemplo en C#.
I.     Adquirir unos conocimientos básicos de lo que
       es la PROGRAMACIÓN ORIENTADA A OBJETOS.
II.    Animar a estudiar esta metodología quitando
       miedos.
III.   Resolver dudas a los que están empezando.
Los principales objetivos de la POO son:
1. Aumentar la abstracción de los programas para
   una mejor comprensión.
2. Modularización de componentes.

3. Reducir la redundancia de código.

4. Reducir los tiempos de implementación.

5. Aumentar la fiabilidad mediante la reutilización
   de componentes.
   La Programación Orientada a Objetos (POO u OOP según siglas
    en inglés) es un paradigma de programación que define los
    programas en términos de quot;clases de objetosquot;, objetos que son
    entidades que combinan estado (es decir, datos),
    comportamiento (esto es, procedimientos o métodos) e identidad
    (propiedad del objeto que lo diferencia del resto). La
    programación orientada a objetos expresa un programa como un
    conjunto de estos objetos, que colaboran entre ellos para realizar
    tareas.
Una clase es un tipo de Datos con:
 Una serie de características, denominadas ATRIBUTOS.

 Un comportamiento definido mediante MÉTODOS.
 Haciendo un símil con C podríamos establecer una similitud
  entre:

                      variables  atributos
                      funciones  métodos
¿Podemos describir a una persona como una clase?

   Atributos :                    Métodos :

   Color de pelo.                Hablar();
   Color de ojos.                Comer();
   Altura.                       Beber();
   Peso.                         Andar();
                                  Correr();
¿Qué es un objeto?
   Un objeto es la materialización (instanciación)de una clase.
   Por tanto, podemos decir que una clase es como una
    plantilla a partir de la cual se crean objetos.
   Los objetos son las unidades atómicas de los programas.
Un objeto de persona Alba “se crea” (se
  instancia) a partir de la idea de persona (la clase)
  Empieza a:
 Ocupar espacio en el mundo.

 Realizar ciertas funciones como respirar o comer.

 Tiene los ojos marrones, es rubia, mide 80 cm,
  pesa 3,2 kg…
Una referencia contiene sólo la dirección de memoria en la
que el objeto se encuentra almacenado.
 Similitud con los punteros de C.
                    Persona Pepe, Juan;
   Pepe==Juan; //SOLO TRUE SI Pepe Y Juan APUNTAN AL
                    MISMO OBJETO
Pepe = Juan; //Hace que Pepe apunte a Juan, NO COPIA Juan
                         en Pepe.
Los objetos se comunican por el llamado PASO DE MENSAJES, en
  una relación que se denomina CLIENTELA (equivalente a la
  relación contiene).
   El Paso de mensajes se efectúa mediante el uso de las llamadas
  referencias.

Ejemplo:
 Alba Habla.

Persona Alba= new Persona(); //Instanciación de la clase
Alba.dice(“HOLA”); // Enviamos un mensaje al objeto señalado por
        // Alba para que diga Hola
En una clase no DEBE HABER acceso directo a todos
los atributos y métodos del objeto, sino que este
acceso se realiza a través de ciertos métodos de
visibilidad pública.
Diferenciación entre la funcionalidad que la clase ofrece
al mundo externo a través de su interfaz (métodos y
atributos públicos) y la funcionalidad interna de la
misma (métodos y atributos privados).
Existen básicamente 3 tipos de visibilidad para atributos y
métodos:
 PUBLICO: Accesible por todos.
  PROTEGIDO: Accesible sólo por objetos de la clase en
cuestión y por objetos de clases derivadas.
 PRIVADO: Accesible sólo por objetos de la misma clase.
Uno de los objetivos que se persigue con la POO es la
obtención de código reutilizable.
 Para ello debe crearse código genérico, aplicable a tantas
situaciones como sea posible.
La clave para la creación de código reutilizable reside en la
ABSTRACCION.
Mediante la HERENCIA es posible extender la funcionalidad
de este código genérico para adaptarla a situaciones
específicas, reescribiendo partes del código del mismo o
añadiendo funcionalidad.
Dos tipos de herencia: simple y múltiple.
Una clase derivada hereda todos los miembros de la clase
base y puede acceder a los miembros públicos (public) y
protegidos (protected) de la clase o clases base, como si
fueran miembros de ella misma.
  Una clase derivada no tiene acceso a los miembros privados
(private) de la clase base.
Dialoga                          Dialoga
                                         Como cualquier
          Ej. de público                    persona

            Ordenar                          Ordenar
                                         El lo hace de otra
          Ej. de público                        forma
Persona                    Informático
          Respira Ej. de
                                            Programa
           protegido

          Tiempo libre                        Respira
                                         Como cualquier
          Ej. de privado                  otra persona
Una misma referencia puede apuntar a objetos de diferentes
tipos con una raíz común. El tipo específico se determina en
tiempo de ejecución.


 TIPADO DINÁMICO.
Un método se dice sobrecargado si existen varias versiones del
mismo, ofreciendo todas una misma funcionalidad pero
variando el número de parámetros.

    Ejemplo  Una persona come, pero según le des cubiertos
o le des palillos come de una forma o de otra. Es decir, nuestra
persona tiene dos formas de comer (métodos) pero según le
demos unas herramientas u otras (parámetros) esta elige.
 Constructor.- Es un método especial de una clase
  que es llamado automáticamente siempre que se
  crea un objeto de la misma. Su misión es iniciar
  los valores de los atributos.
 Recolector de basura.- Es un mecanismo de
  limpieza de memoria. Cuando un objeto deja de
  ser referenciado, este libera la memoria.
Ahora es un buen momento para resolver dudas.
No las dejéis para más tarde porque las dudas es
mejor resolverlas en el momento.
Vamos a ver una implementación en C# del
  ejemplo de las personas. Os recomendamos :
 Seguirlo con atención.

 Pararnos cuando tengáis una duda.

 Intentarlo hacer vosotros también.

  Y recordar que toda la información de la charla
  esta disponible en la página del club:
  http://www.clubnetalmeria.com/

Mais conteúdo relacionado

Mais procurados

Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos JavaC_QUENGUAN
 
POO con PHP
POO con PHPPOO con PHP
POO con PHPvinceq
 
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en JavaProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en JavaDaniel Irene
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetosRenny Batista
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAiessanjuanbosco
 
Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosBeydasanchezhernandez
 
Programación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosProgramación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosEdward Ropero
 
Alexander Irwin Uml
Alexander Irwin UmlAlexander Irwin Uml
Alexander Irwin UmlIrwin Suarez
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datosJuan Moran Sanchez
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++ratasquerosaXX
 

Mais procurados (20)

PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 
Programacion orientada a obetos
Programacion orientada a obetosProgramacion orientada a obetos
Programacion orientada a obetos
 
POO con PHP
POO con PHPPOO con PHP
POO con PHP
 
Unidad i parte i
Unidad i parte iUnidad i parte i
Unidad i parte i
 
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en JavaProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
 
Poo ok
Poo okPoo ok
Poo ok
 
Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetos
 
Programación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosProgramación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetos
 
Alexander Irwin Uml
Alexander Irwin UmlAlexander Irwin Uml
Alexander Irwin Uml
 
Java
JavaJava
Java
 
Asignacion 2
Asignacion 2Asignacion 2
Asignacion 2
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Poo java v fin
Poo java v finPoo java v fin
Poo java v fin
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datos
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 

Destaque

CC - Plan Productivo 2007 - 2011
CC - Plan Productivo 2007 - 2011CC - Plan Productivo 2007 - 2011
CC - Plan Productivo 2007 - 2011aricordoba
 
Entrenamiento De ChoppiñO Y Entrega De Gorra Al
Entrenamiento De ChoppiñO Y Entrega De Gorra AlEntrenamiento De ChoppiñO Y Entrega De Gorra Al
Entrenamiento De ChoppiñO Y Entrega De Gorra Alnino
 
1. Eval. Planif. Fam. 06 07
1.  Eval. Planif. Fam. 06 071.  Eval. Planif. Fam. 06 07
1. Eval. Planif. Fam. 06 07guesta19646
 
Diapositives Polítiques Estatals
Diapositives Polítiques EstatalsDiapositives Polítiques Estatals
Diapositives Polítiques Estatalsesthersv
 
CC - Presentacion Tecnologias
CC - Presentacion TecnologiasCC - Presentacion Tecnologias
CC - Presentacion Tecnologiasaricordoba
 
The Zc Mug Shot Gang Print
The Zc Mug Shot Gang PrintThe Zc Mug Shot Gang Print
The Zc Mug Shot Gang Printmattf373
 
We are manufacturers of Conical Bits
We are manufacturers of Conical BitsWe are manufacturers of Conical Bits
We are manufacturers of Conical BitsLNMauto
 
Forest Fire In Newberry
Forest Fire In NewberryForest Fire In Newberry
Forest Fire In Newberryguest401352
 

Destaque (9)

CC - Plan Productivo 2007 - 2011
CC - Plan Productivo 2007 - 2011CC - Plan Productivo 2007 - 2011
CC - Plan Productivo 2007 - 2011
 
Entrenamiento De ChoppiñO Y Entrega De Gorra Al
Entrenamiento De ChoppiñO Y Entrega De Gorra AlEntrenamiento De ChoppiñO Y Entrega De Gorra Al
Entrenamiento De ChoppiñO Y Entrega De Gorra Al
 
1. Eval. Planif. Fam. 06 07
1.  Eval. Planif. Fam. 06 071.  Eval. Planif. Fam. 06 07
1. Eval. Planif. Fam. 06 07
 
Diapositives Polítiques Estatals
Diapositives Polítiques EstatalsDiapositives Polítiques Estatals
Diapositives Polítiques Estatals
 
CC - Presentacion Tecnologias
CC - Presentacion TecnologiasCC - Presentacion Tecnologias
CC - Presentacion Tecnologias
 
The Zc Mug Shot Gang Print
The Zc Mug Shot Gang PrintThe Zc Mug Shot Gang Print
The Zc Mug Shot Gang Print
 
Marcas
MarcasMarcas
Marcas
 
We are manufacturers of Conical Bits
We are manufacturers of Conical BitsWe are manufacturers of Conical Bits
We are manufacturers of Conical Bits
 
Forest Fire In Newberry
Forest Fire In NewberryForest Fire In Newberry
Forest Fire In Newberry
 

Semelhante a Poo

Unidad introduccion a la poo
Unidad introduccion a la pooUnidad introduccion a la poo
Unidad introduccion a la pooSol Hernández
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013Edgar Rosas
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfNoe Castillo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosalexis armas
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
Rsw investigacion
Rsw investigacionRsw investigacion
Rsw investigacionmmurcia57
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 

Semelhante a Poo (20)

Poo
PooPoo
Poo
 
Unidad introduccion a la poo
Unidad introduccion a la pooUnidad introduccion a la poo
Unidad introduccion a la poo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdf
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Rsw investigacion
Rsw investigacionRsw investigacion
Rsw investigacion
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
POO
POOPOO
POO
 

Poo

  • 1. Ponentes: Manuel Martínez Jiménez Juan Miguel Hernández Arquero
  • 2. I. Objetivos de la charla. II. Introducción III. Conceptos básicos (Clase, objeto, paso de mensajes) IV. Características de la POO ( Herencia, sobrecarga, polimorfismo ) V. Conceptos necesarios de C# ( Constructor, destructor de basura) VI. Ejemplo en C#.
  • 3. I. Adquirir unos conocimientos básicos de lo que es la PROGRAMACIÓN ORIENTADA A OBJETOS. II. Animar a estudiar esta metodología quitando miedos. III. Resolver dudas a los que están empezando.
  • 4. Los principales objetivos de la POO son: 1. Aumentar la abstracción de los programas para una mejor comprensión. 2. Modularización de componentes. 3. Reducir la redundancia de código. 4. Reducir los tiempos de implementación. 5. Aumentar la fiabilidad mediante la reutilización de componentes.
  • 5. La Programación Orientada a Objetos (POO u OOP según siglas en inglés) es un paradigma de programación que define los programas en términos de quot;clases de objetosquot;, objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas.
  • 6. Una clase es un tipo de Datos con:  Una serie de características, denominadas ATRIBUTOS.  Un comportamiento definido mediante MÉTODOS.  Haciendo un símil con C podríamos establecer una similitud entre:  variables  atributos  funciones  métodos
  • 7. ¿Podemos describir a una persona como una clase? Atributos : Métodos : Color de pelo. Hablar(); Color de ojos. Comer(); Altura. Beber(); Peso. Andar(); Correr();
  • 8. ¿Qué es un objeto?  Un objeto es la materialización (instanciación)de una clase.  Por tanto, podemos decir que una clase es como una plantilla a partir de la cual se crean objetos.  Los objetos son las unidades atómicas de los programas.
  • 9. Un objeto de persona Alba “se crea” (se instancia) a partir de la idea de persona (la clase) Empieza a:  Ocupar espacio en el mundo.  Realizar ciertas funciones como respirar o comer.  Tiene los ojos marrones, es rubia, mide 80 cm, pesa 3,2 kg…
  • 10. Una referencia contiene sólo la dirección de memoria en la que el objeto se encuentra almacenado. Similitud con los punteros de C. Persona Pepe, Juan; Pepe==Juan; //SOLO TRUE SI Pepe Y Juan APUNTAN AL MISMO OBJETO Pepe = Juan; //Hace que Pepe apunte a Juan, NO COPIA Juan en Pepe.
  • 11. Los objetos se comunican por el llamado PASO DE MENSAJES, en una relación que se denomina CLIENTELA (equivalente a la relación contiene). El Paso de mensajes se efectúa mediante el uso de las llamadas referencias. Ejemplo:  Alba Habla. Persona Alba= new Persona(); //Instanciación de la clase Alba.dice(“HOLA”); // Enviamos un mensaje al objeto señalado por // Alba para que diga Hola
  • 12. En una clase no DEBE HABER acceso directo a todos los atributos y métodos del objeto, sino que este acceso se realiza a través de ciertos métodos de visibilidad pública. Diferenciación entre la funcionalidad que la clase ofrece al mundo externo a través de su interfaz (métodos y atributos públicos) y la funcionalidad interna de la misma (métodos y atributos privados).
  • 13. Existen básicamente 3 tipos de visibilidad para atributos y métodos: PUBLICO: Accesible por todos. PROTEGIDO: Accesible sólo por objetos de la clase en cuestión y por objetos de clases derivadas. PRIVADO: Accesible sólo por objetos de la misma clase.
  • 14. Uno de los objetivos que se persigue con la POO es la obtención de código reutilizable. Para ello debe crearse código genérico, aplicable a tantas situaciones como sea posible. La clave para la creación de código reutilizable reside en la ABSTRACCION. Mediante la HERENCIA es posible extender la funcionalidad de este código genérico para adaptarla a situaciones específicas, reescribiendo partes del código del mismo o añadiendo funcionalidad. Dos tipos de herencia: simple y múltiple.
  • 15. Una clase derivada hereda todos los miembros de la clase base y puede acceder a los miembros públicos (public) y protegidos (protected) de la clase o clases base, como si fueran miembros de ella misma. Una clase derivada no tiene acceso a los miembros privados (private) de la clase base.
  • 16.
  • 17. Dialoga Dialoga Como cualquier Ej. de público persona Ordenar Ordenar El lo hace de otra Ej. de público forma Persona Informático Respira Ej. de Programa protegido Tiempo libre Respira Como cualquier Ej. de privado otra persona
  • 18. Una misma referencia puede apuntar a objetos de diferentes tipos con una raíz común. El tipo específico se determina en tiempo de ejecución. TIPADO DINÁMICO.
  • 19.
  • 20. Un método se dice sobrecargado si existen varias versiones del mismo, ofreciendo todas una misma funcionalidad pero variando el número de parámetros. Ejemplo  Una persona come, pero según le des cubiertos o le des palillos come de una forma o de otra. Es decir, nuestra persona tiene dos formas de comer (métodos) pero según le demos unas herramientas u otras (parámetros) esta elige.
  • 21.  Constructor.- Es un método especial de una clase que es llamado automáticamente siempre que se crea un objeto de la misma. Su misión es iniciar los valores de los atributos.  Recolector de basura.- Es un mecanismo de limpieza de memoria. Cuando un objeto deja de ser referenciado, este libera la memoria.
  • 22. Ahora es un buen momento para resolver dudas. No las dejéis para más tarde porque las dudas es mejor resolverlas en el momento.
  • 23. Vamos a ver una implementación en C# del ejemplo de las personas. Os recomendamos :  Seguirlo con atención.  Pararnos cuando tengáis una duda.  Intentarlo hacer vosotros también. Y recordar que toda la información de la charla esta disponible en la página del club: http://www.clubnetalmeria.com/