Anda di halaman 1dari 23

Introduccin a la Programacin Orientada a Objetos

E S T R U C T U R A D E D AT O S Y A R C H I V O S
DODANIM CASTILLO ARUZ AGOSTO DE 2012

Contenido
1. Caractersticas de la POO

2.
3. 4. 5.

Ventajas de la POO
Tipos abstractos de datos Clases Ejercicios

Introduccin a la POO
Es una tcnica para escribir programas.

Es la aplicacin de un lenguaje orientado a objetos para implementar una solucin previamente diseada, usando el paradigma orientado a objetos.
Tiene cuatro caractersticas principales.

Abstraccin

Encapsulamiento

Herencia

Polimorfismo

1. Caractersticas de la POO
En el diseo de la solucin computacional de problemas se distinguen los datos (informacin necesaria para llevar a cabo el procesamiento) y las operaciones que podemos hacer sobre ellas. La POO ofrece mecanismos para representar, de manera integrada, los datos y las operaciones.

Abstraccin

Encapsulamiento

Herencia

Polimorfismo

2. Ventajas de la POO
1. Facilita el reuso del diseo y cdigo.

2.
3. 4.

Abstraccin.
Ocultamiento o encapsulamiento de la informacin. Mayor legibilidad.

3. Tipos abstractos de datos


Tipo Abstracto de Datos (ADT, Abstract Data Type).

El ADT es definido por el usuario y es independiente de la implementacin.


Dominio: Alumno universitario
Datos: representan las caractersticas ms importantes de todo alumno universitario. Nombre Direccin Matrcula Ao de Ingreso Carrera Promedio

Operaciones vlidas definidas para el ADT: representan aquellas operaciones que se pueden realizar sobre o con los datos de un alumno universitario. Actualizar direccin Actualizar promedio Actualizar carrera

4. Clases
Un ADT se representa por medio de clases, utilizando las facilidades que ofrecen los lenguajes orientados a objetos. Una clase est formada por miembros: los atributos y los mtodos. Los atributos representan las caractersticas relevantes del objeto/concepto descrito. Los mtodos representan las operaciones permitidas para almacenar/manipular los datos.
Clases: ADT Objetos: tems o instancias de una clase Privada. Protege los atributos y mtodos. Slo pueden ser accesados por miembros de la misma clase. Protegida. Los miembros son accedidos por miembros de la misma clase y de sus clases derivadas (herencia). Pblica. Mtodos y atributos disponibles para cualquier cliente.

4.1 Clases abstractas y concretas


Clases abstractas: se usan para definir conceptos generales en los cuales no interesa mencionar detalles especficos, slo caractersticas o atributos generales y por lo tanto compartibles. Son clases tiles para modelar los datos en la etapa de diseo de las soluciones. Clases concretas: se utilizar para indicar conceptos ms especficos, que se podrn emplear, tal vez directamente, en la solucin de un problema. Clases concretas: automviles, barcos, Clase abstracta: medio de transporte aviones
Esta clase tendr ciertas caractersticas o atributos que sern comunes a todos los medios de transporte (traccin, fuerza, etc. ), aunque no ser lo suficientemente especfica como para que pueda emplearse para definir objetos. Estas clases heredarn de la clase abstracta Medio de transporte sus caractersticas, y adems tendrn un conjunto de atributos propios que permitirn definir de manera ms especfica los conceptos automviles, barcos o aviones segn sea el caso.

4.2 Definicin de una clase en C++


class NombreClase { private: atributos y/o mtodos; protected: atributos y/o mtodos; public: atributos y/o mtodos; };

NombreClase NombreObjeto;

Ejemplo 1

Ejemplo 2

Ejemplo 2 (Cont.)

Ejemplo 3

Ejemplo 4

Ejemplo 4 (Cont.)

Ejemplo 4 (Cont.)

4.3 Los mtodos constructor y destructor


El mtodo constructor es una funcin que se ejecuta automticamente al declarar un objeto como instancia de una clase; se escribe generalmente en la seccin pblica de una clase, y su funcin es crear e iniciar un objeto del tipo de la clase en la cual fue definido. El mtodo destructor es una funcin que se ejecuta automticamente al destruirse un objeto. Lleva el mismo nombre que la clase, va precedido del smbolo ~ y no lleva argumentos.

Ejemplo 5

4.4 Uso de constructores mltiples


Hacen referencia a que en una misma clase se puede incluir ms de un constructor. Esto permite darle mayor flexibilidad a la declaracin de la clase. Existen tres tipos de constructores: Constructor por omisin. Es aquel que no tiene parmetros y su cuerpo no contiene instrucciones. Cuando se crea un objeto, se ste es global, el constructor inicializa con cero a aquellos atributos que son numricos y con NULL a los que son alfanumricos. Si el objeto creado es local, entonces los atributos se inicializan con valores indeterminados. Constructor con parmetros. Es aquel que tiene una lista de parmetros, a los cuales habr que darles un valor en el momento de declarar un objeto. Constructor con parmetros por omisin. Es aquel que tiene una lista de parmetros, a los cuales se les asigna una valor por omisin que se usar para inicializar en caso de que no se den explcitamente otros valores.

Ejemplo 6

Ejemplo 7

Ejemplo 8
Modificacin de la Clase Tringulo

Ejemplo 9
Modificacin de la clase Cliente