CAP 4 -Herencia -6- Composic Objetos PDF
Document Details
Pontificia Universidad Católica del Ecuador Sede Santo Domingo
Tags
Summary
Este documento es una presentación sobre programación orientada a objetos (POO), enfocándose en los conceptos de composición y herencia. Se describe la composición de objetos, sus beneficios, la diferencia entre herencia y composición, y las similitudes entre ambos. Se incluye un sección de ejercicios.
Full Transcript
CAP 4. HERENCIA Tema: Composición de Objetos Ejercicios Resueltos Ejercicios propuestos Objetivo: Comprender las relaciones existentes entre entidades para realizar referencias a objetos de la clases referenciadas Composición de Objetos Es una técnica de la programación orientada a obje...
CAP 4. HERENCIA Tema: Composición de Objetos Ejercicios Resueltos Ejercicios propuestos Objetivo: Comprender las relaciones existentes entre entidades para realizar referencias a objetos de la clases referenciadas Composición de Objetos Es una técnica de la programación orientada a objetos (POO) que permite construir clases más complejas combinando otras clases existentes. En lugar de crear una jerarquía de herencia rígida, la composición se basa en la idea de que una clase puede contener instancias de otras clases para reutilizar su funcionalidad y comportamientos. Objetivo General: Generar un clase nueva, agrupando objetos de clases ya existentes Agrupa uno o mas objetos para construir una clase Las instancias de la nueva clase contiene uno o mas objetos de la clase Para instanciar un objeto de la nueva clase, es necesario tener referencias a objetos de las clases referenciadas Propósito Crear relaciones entre clases Características de la Composición de Objetos: 1. Relación "tiene un": La composición se describe generalmente como una relación de "tiene un". Por ejemplo, una clase Coche puede tener un objeto de tipo Motor, lo que significa que un coche "tiene un" motor. 2. Flexibilidad y reutilización: Esta técnica permite diseñar sistemas más flexibles y modulares, ya que las clases compuestas pueden combinar diferentes comportamientos sin estar limitadas por una jerarquía de herencia. Características de la Composición de Objetos: 3. Desacoplamiento: Favorece un menor acoplamiento entre las clases, facilitando la modificación y el mantenimiento del código. 4.-Composición sobre herencia: Se suele preferir la composición sobre la herencia en POO, especialmente cuando la relación entre las clases no es una relación estricta de "es un tipo de". Esto permite evitar problemas de acoplamiento fuerte y la complejidad de las jerarquías profundas de herencia. Diferencias entre Composición y Herencia: 1.- Relación representada: Herencia: Representa una relación de tipo "es un/a". Por ejemplo, una ClasePerro puede heredar de ClaseAnimal, porque un perro es un animal. Composición: Representa una relación de tipo "tiene un/a". Por ejemplo, una ClaseCoche puede tener un objeto ClaseMotor, porque un coche tiene un motor. Diferencias entre Composición y Herencia: 2.-Flexibilidad: Herencia: Es más rígida, ya que una clase hija depende de la estructura de la clase base. Cambiar la jerarquía de herencia puede ser difícil y propenso a errores. Composición: Ofrece mayor flexibilidad, ya que las clases pueden ser reutilizadas y combinadas sin depender de una jerarquía de herencia. Esto permite modificar las clases individuales o sustituirlas con otras sin afectar el resto del código. Diferencias entre Composición y Herencia: 3.-Reutilización de código: Herencia: Facilita la reutilización de código en una jerarquía, ya que las subclases heredan automáticamente los métodos y atributos de la clase base. Composición: Permite la reutilización al encapsular objetos de otras clases, compartiendo comportamientos sin heredar sus propiedades directamente. Similitudes entre Composición y Herencia: 1.- Objetivo común: Ambas técnicas buscan la reutilización y la organización de código de una forma que promueva un diseño claro y estructurado. 2.-POO fundamental: Tanto la herencia como la composición son conceptos esenciales de la POO y se utilizan para modelar las relaciones entre objetos de manera coherente. 3.-Permiten la abstracción: Tanto en herencia como en composición, se puede usar la abstracción para simplificar el manejo de la complejidad de un sistema. Ejercicios Elaborar un programa que simule el alquiler de vehículos. El programa debe permitir mostrar la información de los vehículos alquilados como: día, mes ,año y total días de alquiler, al cliente que se alquilo y los datos del vehículo Se propone que el alumno cree un método de facturación, considerando el iva al 12%. Se deberá mostrar el subtotal y el total a pagar considerando el número de días alquilados Bibliografía Ceballos. J y Sierra (2011). Curso de Programación. Cuarta Edición. Alfaomega GESTIÓN DE SISTEMAS E INFORMÁTICA, ADMINISTRACIÓN GENERAL DEL ESTADO. TEMARIO 2. (2010). ADAMS Román, L. L. (2014). Metodología de la programación orientada a objetos. Alfa Omega