100 likes | 242 Views
Introducción. Puntos Clave La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software Los métodos tradicionales aplican procedimientos activos a datos pasivos. Los métodos orientados a objetos encapsulan procedimientos y datos
E N D
Introducción Puntos Clave • La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software • Los métodos tradicionales aplican procedimientos activos a datos pasivos. Los métodos orientados a objetos encapsulan procedimientos y datos • La orientación a objetos se aplica a la mayoría de los principales componentes del software incluyendo: lenguajes, bases de datos e interfaces. El resultado será un software que es más fácil de ampliar y mantener, y aplicaciones que son más completas, más fáciles de utilizar y más flexibles • La orientación a objetos es importante hoy en día debido a la creciente complejidad del software y la necesidad de mejores procesos de creación de software 1 _________________________ DSOO - María Eugenia Valencia
Introducción La encapsulación € Los datos y los procedimientos que los manipulan se agrupan en una sola entidad: el objeto € Detalles de implementación escondidos: acceso únicamente por medio de la interfaz del objeto 2 objeto METODOS CAMPOS Interfaz _________________________ DSOO - María Eugenia Valencia
Encapsulamiento Beneficios principales de la arquitectura O.O: • Detalles de implementación interna de datos y procedimientos están ocultos al mundo exterior (ocultamiento de información) Se reduce la propagación de efectos colaterales cuando ocurren cambios. • Las estructuras de datos y las operaciones que las manipulan están mezcladas en una entidad sencilla: la clase se facilita la reutilización de componentes. 3. Las interfaces entre objetos encapsulados están simplificadas. Un objeto que envía un mensaje no tiene que pereocuparse delos detalles de las estructuras de datos internos en el objeto receptor se simplifica la interacción, se tiende a reducir el acoplamiento del sistema.
Introducción Herencia • Mecanismo para definir clases más específicas a partir de clases existentes: se complementan los conocimientos de la clase padre • La nueva clase (subclase) comparte las variables y los métodos de su clase madre (superclase): la subclase hereda las informaciones de la superclase • Tipos de herencia • Herencia simple • Una clase posee una sola superclase directa, el gráfico de herencia es un arbol • Herencia múltiple • Una clase posee varias superclases directas, el gráfico de herencia no es un árbol 4 _________________________ DSOO - María Eugenia Valencia
Introducción Herencia 5 documento gráfico texto título párrafo tabla Los niños .. _________________________ DSOO - María Eugenia Valencia
Introducción Mecanismos de herencia • Enriquecimiento: • Se añaden variables y/o métodos • Substitución: • Un método heredado recibe una nueva definición (la antigua no es adecuada al nuevo conjunto de objetos descritos por la superclase • Visibilidad • Pública (public) • Privada (private) • Protegida (protected) 6 _________________________ DSOO - María Eugenia Valencia
Herencia La jerarquía de clases es un mecanismo a través del cual los cambios (a altos niveles) se pueden propagar inmediatamente a través de todo el sistema. En cada nivel de la jerarquía de clases, pueden añadirse nuevos atributos y operaciones a aquéllos que han sido heredados de niveles superiores de la jerarquía. Opciones para crear una clase: La clase puede diseñarse e implementarse de la nada No se usa herencia. Se puede rastrear la jerarquía de clases para determinar si una clase ascendiente contiene la mayoría de atributos y operaciones requeridas. La nueva clase hereda de su clase ascendiente y pueden añadirse otros elementos si hacen falta.
Herencia 3. Las características de una clase existente pueden sobreescribirse (mecanismo de sustitución) y se pueden implementar versiones de atrinutos u operaciones para la nueva clase (mecanismo de enriquecimiento). Ejemplo: figura 20.8a. 4. La jerarquía de clases puede reestructurarse de tal manera que los atributos y operaciones requeridas pueden ser heredados por la nueva clase. Ejemplo: figura 20.8b.
La abstracción Es el examen selectivo de ciertos aspectos de un problema. Su finalidad es aislar los aspectos más importantes para un objetivo predeterminado y suprimir los que no lo son El polimorfismo Los objetos actúan en respuesta a los mensajes que reciben. El mismo mensaje puede originar acciones completamente diferentes al ser recibido por diferentes objetos. Este fenómeno se conoce como polimorfismo
Persistencia Se refiere a la permanencia de un objeto, es decir al tiempo durante el cual se asigna espacio y permanece accesible en la memoria del computador. Después de ser ejecutado un programa O.O., los objetos normalmente NO se almacenan. Ellos son No persistentes. Una base de datos O.O. mantiene una distinción entre objetos creados para el tiempo que dure la ejecución (no persistentes) y aquéllos pensados para almacenamiento permanente. Estos últimos son persistentes.