Professional Documents
Culture Documents
Copyright 2004
Unidad 1
Copyright 2004
Objetivos
Objetivos de Aprendizaje
Explicar la necesidad de la orientacin a objetos Describir la tecnologa orientada a objetos Definir encapsulamiento y sealar sus beneficios Discutir la abstraccin, agregacin, herencia y polimorfismo Describir los beneficios de la tecnologa orientada a objetos
Copyright 2004
Paradigmas de Programacin
Paradigmas de Programacin
Programacin orientada a procedimientos: o Los programas son estructurados con base a sus funciones Programacin orientada a objetos: o Los programas son implementados y organizados como una coleccin cooperativa de entidades, cada una representando algn elemento (entidad) en el mundo real o La programacin orientada a objetos persigue simular o representar las entidades del mundo real y su uso en forma natural en la resolucin de un problema de computacin
Copyright 2004
El paradigma de la programacin orientada a objetos usualmente tiene las siguientes caractersticas: o Simula actividades del mundo real o Tiene tipos de datos definidos por los usuarios o Esconde los detalles de la implementacin o Re-usa cdigos a travs de la herencia o Permite el mismo funcionalidades nombre para diferentes
Copyright 2004
Copyright 2004
Pilares: Abstraccin
Abstraccin
Las entidades del mundo real tienen un sin nmero de caractersticas y funciones asociadas de las cuales no todas son de relevancia para la solucin de un problema La abstraccin es la tcnica que permite reconocer los elementos esenciales para la solucin de un problema dejando de lado los detalles irrelevantes La abstraccin consiste en crear un simplificado de una entidad del mundo real modelo
Copyright 2004
Pilares: Abstraccin
Implementacin El procedimiento adoptado para facilitar a una entidad la ejecucin de sus funciones
Copyright 2004
Pilares: Encapsulamiento
Encapsulamiento
El encapsulamiento es el concepto que ayuda a mantener juntos los datos y las funciones (procedimientos) que operan sobre stos Las funciones y procedimientos que pertenecen a una entidad cualquiera se conocen como funciones miembro o mtodos El encapsulamiento complementa el concepto de abstraccin, mediante el ocultamiento de informacin
Copyright 2004
Pilares: Encapsulamiento
El Paradigma Procedural
Definicin de Datos y Estructuras Implementacin de Operaciones sobre Datos y Estructuras
datos
y las
Copyright 2004
Pilares: Encapsulamiento
En el paradigma de la orientacin a objetos, tanto los datos como las operaciones que actan sobre ellos estn envueltos en una cpsula
Copyright 2004
Pilares: Modularidad
Modularidad
La Modularidad involucra la divisin de un sistema completo de software en partes ms pequeas y manejables denominadas mdulos Encapsulacin y Modularidad se complementan El encapsulamiento esconde los detalles de la implementacin y la Modularidad permite el agrupamiento lgico de entidades relacionadas La Encapsulacin y la Modularidad aseguran que una interfaz limpia est disponible para los usuarios de la entidad
Copyright 2004
Jerarqua
La jerarqua se refiere a la clasificacin u ordenamiento de abstracciones Las abstracciones que conforman un sistema completo estn basadas en un orden particular Las estructuras es un y tiene un, estn asociadas con la jerarqua La herencia pertenece a la jerarqua es un mientras que la Agregacin pertenece a la jerarqua tiene un
Copyright 2004
Pilares: Herencia
Herencia
La herencia implica que una entidad B comparte la estructura y conducta de una entidad A En este contexto, la entidad A es llamada la superclase (o la clase base), y la entidad B es llamada la subclase (o la clase derivada)
Superclase Vehculo
Pilares: Herencia
Herencia
Las subclases pueden especializar algunas caractersticas heredando las caractersticas de la entidad original y re-definiendo dichas caractersticas. La herencia se refiere as a una relacin generalizacin-especializacin entre entidades
Copyright 2004
Herencia y Jerarqua
Jerarqua en la Herencia
Humano
Europeo
Asitico
Francs
Italiano
Hind
Coreano
Siciliano
Napolitano
Copyright 2004
Herencia Mltiple
Animal Terrestre
Animal Acutico
Preparador
Animal Anfibio
Agregacin
Agregacin
Es posible para una entidad contener a otra entidad Esto es denominado como una relacin tiene un entre entidades
Automvil
Puerta
Asiento
Maletero
Copyright 2004
Ocultamiento de Informacin
Ocultamiento de Informacin
Debido al encapsulamiento, los datos y la implementacin de las operaciones son escondidas al usuario Teniendo los datos miembros y sus operaciones encapsuladas, el usuario slo necesita saber cmo acceder a las operaciones El ocultamiento de informacin y las interfases se unen para garantizar la seguridad de los datos y el cumplimiento de las reglas y validaciones en el uso de las entidades
Copyright 2004
Polimorfismo
Polimorfismo
Polimorfismo es la tcnica de usar una interfaz para mltiples implementaciones Permite a las entidades tener diferentes estructuras internas para compartir la misma interfaz externa Polimorfismo significa un nombre y mltiples funciones
Copyright 2004
Polimorfismo
Polimorfismo
Figura_Geomtrica Atributos: Funciones: area()
es-un
es-un
es-un
Copyright 2004
Ventajas
Reusabilidad Cuando el comportamiento es heredado desde otra entidad, no se necesita reescribir el cdigo Esto ahorra costos de mantenimiento Proporciona una forma eficiente de compartir el mismo cdigo Desarrollo Rpido de Prototipos Cuando un sistema de software se disea bsicamente con componentes reutilizables, el tiempo de desarrollo se puede usar para comprender el nuevo sistema
Copyright 2004
Beneficios
Promete elevar los niveles de productividad de los programadores, software de mejor calidad y menor costo de mantenimiento Los programas se pueden construir desde mdulos de trabajo estndares que se comunican unos con otros. Permite ahorrar tiempo de desarrollo e incrementar la productividad Facilita dividir el trabajo en proyectos basados en entidades Es posible tener mltiples instancias de una entidad coexistiendo sin interferencias
Copyright 2004
Beneficios
Los programadores pueden construir programas ms seguros que no puedan ser invadidos por cdigo de otras partes del sistema La herencia elimina el cdigo redundante y extiende el uso de las entidades existentes El enfoque centrado en los datos permite capturar ms detalles del modelo para la implementacin
Copyright 2004
Sumario
Resumen
Explicar la necesidad de la orientacin a objetos Describir la tecnologa orientada a objetos Definir encapsulamiento y sealar sus beneficios Discutir la abstraccin, agregacin, herencia y polimorfismo Describir los beneficios de la tecnologa orientada a objetos
Copyright 2004
Unidad 2
Clases y Objetos
Copyright 2004
Objetivos
Objetivos de Aprendizaje
Describir las clases y objetos, y su uso en los sistemas orientados a objetos Discutir el uso de mensajes y mtodos Explicar la tcnica de depuracin de sustantivos para la identificacin de clases
Copyright 2004
Entidades
Las entidades son los objetos, conceptos e ideas del mundo real La lista de entidades en el mundo real es infinita Algunos ejemplos de entidades en el mundo real son:
Florista Estudiante Libro Tarjeta de registro Formato de reservacin Cliente Cuenta de ahorros Taln de retiro Reloj Tabla Miembro de biblioteca Tarjeta de biblioteca Flor
Copyright 2004
Podemos agrupar algunas de las entidades de la lista anterior en las siguientes categoras: o Estudiantes, Tarjeta de registro o Miembro de biblioteca, Tarjeta de biblioteca, Libro o Cliente, Taln de retiro, Cuenta de ahorros o Florista, Flor Las entidades se agrupan de acuerdo a su conducta Por conducta entendemos las responsabilidades de una entidad en el mundo real Los trminos conducta y responsabilidades son normalmente usados indistintamente cuando se discute la tecnologa orientada a objetos
Copyright 2004
Clases
En el anlisis existen entidades que representan elementos del mundo real. En el entorno de la solucin existen las clases como tipos de datos definidos por el usuario Las clases son la descripcin de un tipo de dato Las variables creadas a partir de un tipo de dato clase, son denominadas instancias u objetos de la clase Las clases son tipos de datos agregados definidos por el usuario
Copyright 2004
Cliente
Cuenta de Ahorros
Cuenta Corriente
Planilla de Deposito
Las clases contienen tanto los datos miembros representando los tipos, como las funciones miembros que implementan operaciones en esos tipos Una clase es similar a una estructura en C Para describir el tipo de dato Estudiante definido por el usuario, podemos identificar los siguientes datos miembros: o Nombre del estudiante o Edad del estudiante o Direccin del estudiante o Disciplinas en las que el estudiante fue admitido o Cursos registrados por el estudiante en un semestre
Copyright 2004
Copyright 2004
Copyright 2004
Objetos
Una definicin simple de un objeto es que constituye una instancia de una clase Los objetos interactan unos con otros para proveer una solucin a un problema La clase es slo la descripcin del tipo de dato, el objeto es el que ocupa memoria en el computador Al momento de crear instancias o variables de la clase, el compilador reserva la cantidad de memoria adecuada para el tipo de dato solicitado
Copyright 2004
Objetos
De un objeto puede decirse que tiene lo siguiente: o Estado, en un momento dado o Identidad, que es nica entre objetos del sistema o Conducta, que usualmente son las operaciones sobre los datos de esa clase La estructura y conducta de objetos similares son definidas en su clase comn
Copyright 2004
Estado: El estado de un objeto son las propiedades y los valores que estas propiedades toman en un momento dado Identidad: La identidad de un objeto se refiere a la manera nica por la cual el objeto es conocido, referido, y distinguido de todos los dems objetos del sistema Conducta: La conducta se refiere a las responsabilidades que el objeto ofrece asumir y cumplir. Es tambin la forma cmo un objeto reacciona a los cambios de estado
Copyright 2004
Mtodos: Los mtodos son los algoritmos usados por la clase para implementar las tareas ofrecidas por la interfase Tambin se usa el trmino funcin miembro Mensajes: Un mensaje es el mecanismo usado por un objeto para tomar una tarea llevada a cabo por otro objeto Un mensaje puede cambiar el estado del objeto receptor Un mensaje puede tomar ninguno o ms argumentos especficos Cuando un mensaje es enviado, el nombre del objeto es asociado con el mensaje
Copyright 2004
Clases Abstractas
Clases Abstractas
Existen circunstancias en las que se necesita crear clases que encapsulen el comportamiento general de ciertas entidades Estas clases por si mismas no pueden ser instanciadas como objetos Ellas simplemente proporcionan una interfaz que la clase derivada hereda e implementa Estas clases son tiles para describir a un nivel ms alto el comportamiento general de las entidades del mundo real Se conocen como clases abstractas
Copyright 2004
Clases Abstractas
Vehculo Clases abstractas Vehculo Terrestre Vehculo Areo Vehculo Acutico
Aeroplano
Bicicleta
Automvil
Clases concretas
Copyright 2004
Clases y Objetos
Identificacin de Clases
El primer paso en la construccin de un modelo de objetos es identificar las clases relevantes del dominio de la aplicacin Al identificar las clases es posible establecer los limites del problema a resolver Todas las clases deben tener significado en el dominio de la aplicacin Se debe establecer un esquema para agrupar objetos en clases
Copyright 2004
Clases y Objetos
Identificacin de Clases
Los pasos bsicos de la tcnica de depuracin de sustantivos son los siguientes: o Establecer la lista inicial de sustantivos que formaran las clases candidatas o Depurar la lista inicial de clases de clases candidatas o Identificar los atributos de las clases o Asignar responsabilidades a las clases
Copyright 2004
Sumario
Resumen
Describir las clases y objetos, y su uso en los sistemas orientados a objetos Discutir el uso de mensajes y mtodos Explicar la tcnica de depuracin de sustantivos para la identificacin de clases
Copyright 2004
Unidad 3
Copyright 2004