Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación avanzada
Parte teórica
1. Indique cual es la diferencia entre una composición de clases y la herencia entre
clases. Dé un ejemplo de cada uno de estos conceptos.
Tanto la Composición como la Herencia se ocupan de proporcionar propiedades o
comportamientos adicionales a una clase. La herencia es la capacidad de una clase de
heredar propiedades y comportamiento de una clase primaria extendiéndola. Por otro
lado, Composición es la capacidad de una clase para contener objetos de diferentes
clases como datos de miembros.
Aunque la herencia y la composición son dos conceptos de OOP, son bastante diferentes
en lo que permiten que el programador logre. La herencia es la capacidad de una clase
de heredar propiedades y comportamiento de una clase primaria extendiéndola, mientras
que la Composición es la capacidad de una clase de contener objetos de diferentes
clases como datos de miembros. Si una clase se extiende, hereda todas las propiedades
/ comportamientos públicos y protegidos y la subclase puede anular esos
comportamientos. Pero si una clase está contenida en otra, el contenedor no tiene la
capacidad de cambiar o agregar comportamiento al contenido. La herencia representa
una relación "es-a" en OOP, mientras que la composición representa una relación "tiene-
a".
Bautista Arce Diego Martin 3MA
Parte práctica
Descripción del problema
El dueño de una yarda desea llevar el control de los vehículos y los clientes que tiene.
Para cada vehículo, desea indicar:
- color, precio, marca, modelo, y disponibilidad.
Para cada cliente, desea indicar:
- ine, nombre, apellidos, domicilio, número de celular y escolaridad.
Bautista Arce Diego Martin 3MA
Además, por cada vehículo o cliente, usando un menú de opciones, desea agregar uno
nuevo o listar los existentes.
Agregar los atributos correspondientes a cada clase y con una visibilidad privada, para
solo acceder mediante la misma clase, también utilizar la función de la IDE para colocar
los get y los set de cada atributo.
Bautista Arce Diego Martin 3MA
En la main class genero mis dos objetos Scanner uno para ingresar la opción y el
otro para ingresar los datos que se pide, creo dos Arraylist para almacenar a mis
vehículos y clientes (objetos) y poder agregar o poner sus atributos.
Utilizo un while para crear el menú de opciones que constara de
1. Generar cliente
2. Generar vehículo
3. Listar cliente
4. Listar vehículo
5. Salir
Bautista Arce Diego Martin 3MA
Para finalizar en el case 3 y 4 se crea un ciclo for que recorrerá las listas de array
que se crearon al principio, y con un
System.out.println(clientes.get(i).getIne());
se utilizara el get para acceder al registro de clientes si es que ya hay uno e
imprimir sus atributos así también se hace en el case 4 pero con los vehículos, y
con el case 5 se cambia e status a false y cierra el menú y la lista.
Bautista Arce Diego Martin 3MA
Referencias
Diferencia entre herencia y composición | 2020. (2020, 26 enero). Diferencia entre herencia y
composición. https://es.bccrwp.org/compare/difference-between-inheritance-and-
composition/#:%7E:text=La%20herencia%20es%20la%20capacidad,clases%20como%2
0datos%20de%20miembros.
https://www.w3schools.com/java/java_arraylist.asp