Quantcast
Channel: Java POO - Pregunta Simple - Stack Overflow en español
Viewing all articles
Browse latest Browse all 3

Java POO - Pregunta Simple

$
0
0

Tengo una duda muy concreta en POO, y quisiera saber por favor si me pueden ayudar con este simple código.

Es muy simple, tengo 2 clases, una llamada Aeropuerto (con el nombre del aeropuerto, dirección, año inauguración y capacidad) y la otra Dirección con el país, la calle el numero y ciudad.

También tengo la clase TestAeropuerto, donde desde aquí empieza todo.Creo un objeto a1 de tipo Aeropuerto,(1er constructor) y ahí me regresa los datos con un toString, y entiendo el razonamiento.

El problema es cuando creo un objeto del tipo Dirección y lo tengo que relacionar con el objeto a2 de tipo Aeropuerto.

Observen mi razonamiento:

Al crear el objeto de tipo Dirección llamado México, al constructor de la clase Dirección le paso el país, calle, numero y ciudad), lo cual, el constructor le pasa esos parámetros a los atributos de la clase, y se guardan en memoria. Entendidisimo.

Ahora, cuando creo al objeto a2 de tipo Aeropuerto, llama el otro constructor de su clase, donde pasa por parámetro: nombre, dirección, anioInauguracion y cantidad. Todos se almacenan en memoria y perfecto, pero.... que para con el atributo Direccion direccion que esta en la clase Aeropuerto? Como hace para buscar los tipos de datos primitivos que estan guardados en memoria en la clase Direccion? Como recurre/obtiene el objeto Direccion direccion solito (en la clase Aeropuerto) a los atributos país, calle, numero y ciudad de la clase Direccion? Tiene algo que ver el método toString o funciona como un getter común en este caso?

Disculpen la pregunta básica, pero necesito saber como la computadora hacer para vincular esos datos. Paso por pasoCódigo:

public class TestAeropuerto {public static void main(String[] args) {    // TODO Auto-generated method stub    Aeropuerto a1 = new Aeropuerto("Pistarini", "Argentina", "Arevalo", 2364, "Buenos Aires", 1976, 2000);    System.out.println(a1);    System.out.println(a1.aniosAbierto());    Direccion mexico = new Direccion("Mexico", "11 de Septiembre", 2871, "Cancun");    Aeropuerto a2 = new Aeropuerto("Las Americas", mexico, 1980, 4000);    System.out.println(a2);    System.out.println(a2.aniosAbierto());}}class Direccion {private String pais;private String calle;private int numero;private String ciudad;public Direccion(String pais, String calle, int numero, String ciudad) {    this.pais = pais;    this.calle = calle;    this.numero = numero;    this.ciudad = ciudad;}public String getPais() {    return pais;}public void setPais(String pais) {    this.pais = pais;}public String getCalle() {    return calle;}public void setCalle(String calle) {    this.calle = calle;}public int getNumero() {    return numero;}public void setNumero(int numero) {    this.numero = numero;}public String getCiudad() {    return ciudad;}public void setCiudad(String ciudad) {    this.ciudad = ciudad;}@Overridepublic String toString() {    return "Direccion [pais="+ pais +", calle="+ calle +", numero="+ numero +", ciudad="+ ciudad +"]";}}class Aeropuerto {private String nombre;private Direccion direccion;private int anioInauguracion;private int capacidad;public Aeropuerto(String nombre, String pais, String calle, int numero, String ciudad, int anioInauguracion,        int capacidad) {    this.direccion = new Direccion(pais, calle, numero, ciudad);    this.nombre = nombre;    this.anioInauguracion = anioInauguracion;    this.capacidad = capacidad;}public Aeropuerto(String nombre, Direccion direccion, int anioInauguracion, int capacidad) {    this.nombre = nombre;    this.direccion = direccion;    this.anioInauguracion = anioInauguracion;    this.capacidad = capacidad;}public String getNombre() {    return nombre;}public void setNombre(String nombre) {    this.nombre = nombre;}public int getAnioInauguracion() {    return anioInauguracion;}public void setAnioInauguracion(int anioInauguracion) {    this.anioInauguracion = anioInauguracion;}public int getcapacidad() {    return capacidad;}public void setcapacidad(int capacidad) {    this.capacidad = capacidad;}public int aniosAbierto() {    int dia = Calendar.getInstance().get(Calendar.YEAR);    return dia - anioInauguracion;}public Direccion getDireccion() {    return direccion;}public void setDireccion(Direccion direccion) {    this.direccion = direccion;}public String toString() {    return "Aeropuerto [nombre="+ nombre +" direccion="+ direccion +" Año Inauguracion="+ anioInauguracion+", capacidad="+ capacidad +"]";}}

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images