Documente Academic
Documente Profesional
Documente Cultură
Lenguajes de programacin:
Programacin orientada a objetos. Chile: Valdivia, pp. 1 -6.
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.
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)
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: