Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Composición en java, estudien vagos, Apuntes de Programación Javascript

Composición en java, estudien vagos

Tipo: Apuntes

2020/2021

Subido el 24/03/2023

david-pupiales
david-pupiales 🇨🇴

3 documentos

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
http://www.ingenieriasystems.com
Composición en JAVA
La composición consiste en crear una clase nueva agrupando objetos de
clases que ya existen. Una composición agrupa uno o más objetos para
construir una clase, de manera que las instancias de esta nueva clase
contienen uno o más objetos de otras clases. Normalmente los objetos
contenidos se declaran con acceso private y se inicializan en el constructor de
la clase.
La clase Vehiculo está compuesta de objetos de tipo String. Los atributos
matricula, marca, modelo y color en realidad son objetos de la clase String.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Vehiculo {
private String matricula;
private String marca;
private String modelo;
private String color;
private double tarifa;
private boolean disponible;
// se omiten los métodos ‘get’ y ‘set’ de la clase
public Vehiculo(String matricula,
String marca,
String modelo,
String color,
double tarifa) {
this.matricula = matricula;
this.marca = marca;
this.modelo = modelo;
this.color = color;
this.tarifa = tarifa;
this.disponible = false;
}
}
Para hacer una composición utilizando objetos de una clase diferente de String,
lo primero es definir una nueva clase. La clase Cliente formará junto con
Vehiculo la clase VehiculoAlquilado utilizando la composición.
?
1
2
3
4
5
6
7
8
public class Cliente {
private String nif;
private String nombre;
private String apellidos;
// se omiten los métodos ‘get’ y ‘set’ de la clase
public Cliente(String nif, String nombre, String apellidos) {
this.nif = nif;
this.nombre = nombre;
this.apellidos = apellidos;
}
pf3
pf4

Vista previa parcial del texto

¡Descarga Composición en java, estudien vagos y más Apuntes en PDF de Programación Javascript solo en Docsity!

Composición en JAVA

La composición consiste en crear una clase nueva agrupando objetos de

clases que ya existen. Una composición agrupa uno o más objetos para

construir una clase, de manera que las instancias de esta nueva clase

contienen uno o más objetos de otras clases. Normalmente los objetos

contenidos se declaran con acceso private y se inicializan en el constructor de

la clase.

La clase Vehiculo está compuesta de objetos de tipo String. Los atributos

matricula, marca, modelo y color en realidad son objetos de la clase String.

public class Vehiculo { private String matricula; private String marca; private String modelo; private String color; private double tarifa; private boolean disponible; // se omiten los métodos ‘get’ y ‘set’ de la clase public Vehiculo(String matricula, String marca, String modelo, String color, double tarifa) { this.matricula = matricula; this.marca = marca; this.modelo = modelo; this.color = color; this.tarifa = tarifa; this.disponible = false; } }

Para hacer una composición utilizando objetos de una clase diferente de String,

lo primero es definir una nueva clase. La clase Cliente formará junto con

Vehiculo la clase VehiculoAlquilado utilizando la composición.

public class Cliente { private String nif; private String nombre; private String apellidos; // se omiten los métodos ‘get’ y ‘set’ de la clase public Cliente(String nif, String nombre, String apellidos) { this.nif = nif; this.nombre = nombre; this.apellidos = apellidos; }

Ahora se define una composición que declara un objeto de la clase Vehiculo y

un objeto de la clase Cliente. La nueva clase VehiculoAlquilado relaciona una

instancia de la clase Vehiculo con una instancia de la clase Cliente y crea

objetos que almacenan relaciones entre clientes y vehículos de alquiler.

Esto significa que para instanciar un objeto de la clase VehiculoAlquilado es

necesario tener referencias a objetos de las clases Cliente y Vehiculo.

public class VehiculoAlquilado { private Cliente cliente; private Vehiculo vehiculo; private int diaAlquiler; private int mesAlquiler; private int añoAlquiler; private int totalDiasAlquiler; public VehiculoAlquilado(Cliente cliente, Vehiculo vehiculo, int diaAlquiler, int mesAlquiler, int añoAlquiler, int totalDiasAlquiler) { this.cliente = cliente; this.vehiculo = vehiculo; this.diaAlquiler = diaAlquiler; this.mesAlquiler = mesAlquiler; this.añoAlquiler = añoAlquiler; this.totalDiasAlquiler = totalDiasAlquiler; } // los métodos ‘get’ de los atributos de tipo objeto // Cliente y Vehiculo public Cliente getCliente() { return this.cliente;

En una relación de composición, hay atributos de la clase contenedora que son

objetos que pertenecen a la clase contenida. Un objeto de la clase contenedora

puede acceder a los métodos públicos de las clases contenidas.

En la declaración de la clase VehiculoAlquilado se han definido dos métodos

‘get’ para los atributos de tipo objeto. El método getCliente() devuelve un objeto

de tipo Cliente y el método getVehiculo() devuelve un objeto de tipo Vehiculo.

Por ejemplo, el objeto alquiler1 de la clase VehiculoAlquilado puede acceder a

los métodos públicos de su propia clase y de las clases Cliente y Vehiculo. Un

objeto de la clase VehiculoAlquilado puede ejecutar métodos ‘get’ para mostrar

la información de los objetos que contiene.

alquiler1.getCliente().getNIF(); alquiler1.getVehiculo().getMatricula();

Los datos del cliente y del vehículo alquilado:

System.out.println("Vehículo alquilado") System.out.println("Cliente : " + alquiler1.getCliente().getNIF() + " " + alquiler1.getCliente().getNombre() + " " + alquiler1.getCliente().getApellidos()); System.out.println("Vehículo: " + alquiler1.getVehiculo().getMatricula());

La salida por la consola:

Vehículo alquilado

Cliente : 30435624X Juan Pérez

Vehículo: 4050 ABJ