Sunteți pe pagina 1din 6

01) Gonzlez, L. A. (1988). Introduccin en INFO 161.

Lenguajes de programacin:
Programacin orientada a objetos. Chile: Valdivia, pp. 1 -6.

PROGRAMACION ORIENTADA A OBJETOS.


TABLA DE CONTENIDOS
1 INTRODUCCIN.
1.1 DISEO DIRIGIDO POR RESPONSABILIDAD
2 CLASES
2.1 CREACIN DE OBJETOS DE UNA CLASE.
2.2 FUNCIONES EN LNEA.
2.3 CONSTRUCTORES.
2.4 DESTRUCTORES.
2.5 FUNCIONES AMIGAS.
2.6 EJERCICIOS.
3 MS CONCEPTOS SOBRE ORIENTACIN A OBJETOS
3.1 RELACIONES.
3.1.1 RELACIN UN - TIPO - DE (A - KIND - OF RELATIONSHIP)
3.1.2 RELACIN ES UN(A) (IS - A RELATIONSHIP)
3.1.3 RELACIN PARTE - DE
3.1.4 RELACIN TIENE - UN
3.2 HERENCIA
3.3 HERENCIA MLTIPLE
3.3.1 CLASES ABSTRACTAS
3.3.2 EJERCICIOS
4 HERENCIA EN C++
4.1 TIPOS DE HERENCIA.
4.2 CONSTRUCCIN
4.3 DESTRUCCIN
4.4 HERENCIA MLTIPLE.
4.5 POLIMORFISMO
4.6 CLASES ABSTRACTAS
5 SOBRECARGA DE OPERADORES
6 TIPOS GENRICOS
7 TIPOS GENRICOS (TMPLATE EN C++)

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

1 Introduccin.
Envo de Flores
Si mando flores a una dama tengo las siguientes alternativas.
Alternativas
1. Lo hago directamente envindole un mensaje a Margarita la florista.
2. Usando otro objeto intermedio, por ejemplo Gertrudis, la secretaria.
El objeto Margarita y el objeto Gertrudis tienen mtodos que entienden el mensaje.
El objeto Margarita tiene mtodos que permiten realizar la accin.
Si le pido a mi jefe Lalo que mande flores, probablemente no lo har porque no tiene el mtodo.
En POO, la accin se inicia mediante la transmisin de un mensaje (paso de mensajes) a un
agente (objeto) responsable de la accin.
El mensaje tiene codificada la peticin y se acompaa de informacin adicional.
Si el objeto receptor acepta el mensaje, significa que tiene los mtodos para llevarla a cabo.
El objeto receptor realiza la accin.
Si hubiese ido donde la florista Rosa el resultado habra sido el mismo, porque Margarita y Rosa
pertenecen a la misma clase. Esta clase la podemos llamar Florista.
Todos los objetos de una misma clase tienen los mismos mtodos.
Probablemente Margarita pedir dinero y entregar una boleta, porque ese mtodo los usan
todos los comerciantes, o sea la clase florista pertenece a una clase mayor llamada
Comerciante y el objeto Margarita, conoce los mtodos de la clase florista y todos los mtodos
de la clase comerciante Dicho de otra forma la clase florista hereda mtodos de una clase
jerrquicamente superior.
Otros comerciantes son los panaderos, fotocopiadores, etc.
Los comerciantes son humanos, como otro tipo de profesiones.
Los Humanos son mamferos,
Los mamferos son animales,
Los animales son objetos materiales.

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

Ejemplos de clases y subclases.


Herencia. Las clases se pueden organizar en forma jerrquica por herencia.
Una subclase heredar los mtodos de una superclase.
Una superclase abstracta se usa solo para crear subclases no posee objetos.
Un problema, los mamferos dan a luz cras vivas.
La ornitorrinco Orni es mamfero y pone huevos. As que necesitamos mtodo que codifiquen
excepciones para anular mtodos de las superclases.
Enlaces de Mtodos.
Un mtodo se busca en la clase del objeto, si no se encuentra se busca en la superclase y as
sucesivamente hasta que se encuentra. Una vez que se encuentra se ejecuta o de lo contrario
emite un mensaje de error.
Volviendo al ejemplo.
El hecho que yo no conozca con exactitud los mtodos que usar Margarita, se conoce como
ocultamiento de la informacin.
Resolver un problema complejo usando tcnicas tradicionales, puede volverse muy
engorroso, puesto que obliga a conocer variables, registros o parmetros que se
usan anteriormente y de igual forma con el cdigo que viene.
Para resolver ese problema, se usan:
Procedimientos,
Procedimientos y funciones permiten ocultar mtodos, permite reutilizacin. Sin embargo la
informacin la pueden ocultar slo parcialmente.

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

Por ejemplo,
un procedimiento para manejar una pila.
Interfaz visible. Rutinas, iniciar, sacar, meter y tope.
Se pude usar arreglo, punteros, listas enlazadas etc.
Los datos de la pila no pueden ser locales, deben ser compartidos, entonces deben ser
globales.
Supongamos un arreglo de nombre pila_de_datos.
Problemas.
Todos los programadores deben saber este nombre para no crear otro igual.
Los nombres iniciar, sacar, meter y tope son ahora reservados.
Mdulos.
La programacin modular resuelve los problemas anteriores permitiendo dividir los mdulos en
dos partes, una parte privada y otra pblica. La parte privada es slo accesible
Por las rutinas al interior del mdulo.
Problemas.
Que pasa si otros usuarios desean mantener ms de una pila.
La programacin modular no permite hacer la instanciacin de otros ejemplares.
Tipo de Datos Abstracto.
Tipo definido por el programador.
Conjunto de valores (podra ser infinito) y nmero de operaciones primitivas.
Los usuarios pueden crear variables para el tipo definido.
Ejemplo, definir una pila como TDA y las operaciones iniciar, sacar, meter y tope, como
las nicas operaciones vlidas para pila.
Los mdulos se usan como implantacin de TDA. El TDA es un concepto.
Para construir un TDA se debe ser capaz de:
1. Exportar una definicin de tipo
2. Proporcionar un conjunto de operaciones.
3. Proteger los datos asociados, de tal manera que slo se puedan usar con las operaciones
establecidas.
4. Crear mltiples ejemplares del tipo.
Los mdulos estn dirigidos hacia los puntos 2 y 3.
Los objetos son tipos abstractos de datos.
Programacin Orientada a Objetos (POO).
La POO agrega ideas nuevas al concepto de TDA. Ellas son:
Paso de mensajes.
Cambio de enfoque entre hacerlo uno mismo invocando el mtodo apropiado o que el objeto lo
haga por uno.
Sobrecarga de nombres
Reutilizacin de software.
Mecanismos de herencia y polimorfismo (mtodos que pueden ser aplicados a diferentes
objetos)

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

1.1 Diseo Dirigido por Responsabilidades


Qu es POO?
Respuesta tpica: clases, herencia, etc., sintaxis del lenguaje.
Importante, delegacin de responsabilidades. Esta tcnica se llama diseo dirigido por
responsabilidades.
Una tcnica til es el uso de tarjetas CRC (Clases, Responsabilidad, Colaboradores), como se
muestra en la Figura:

Algunas reglas
Usar nombre pronunciables.
Usar el subrayado _ (underline) para separar palabras dentro de un nombre o usar la primera
letra mayscula.
Ejemplo Ordenador_de_lista u OrdenadorDeLista
Usar adecuadamente las abreviaturas, por ejemplo ordlist no es un buen ejemplo, sin
embargo IDuser
Podra ser una abreviatura al nmero de identificacin de usuario.
No usar dgitos que confundan al lector por ejemplo 0 y O,
1 y l, 2 y Z, 5 y S, etc.
Usar claramente variables boolianas, por ejemplo Impresora Lista es mejor que Estado
Impresora.

Un ejemplo es e
l de cajeros automticos:

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

Material compilado con fines acadmicos, se prohbe su


reproduccin total o parcial sin la autorizacin de cada autor.

S-ar putea să vă placă și