Your SlideShare is downloading. ×

Poo

2,492
views

Published on

Pdf de la charla de Programación orientada a objetos.

Pdf de la charla de Programación orientada a objetos.


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,492
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
80
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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
  • 17. 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.
  • 18. 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.
  • 19.  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.
  • 20. 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.
  • 21. 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/