Java - Clases y Herencias

 
Vista:
Imágen de perfil de Jose Alfredo

Clases y Herencias

Publicado por Jose Alfredo (2 intervenciones) el 28/04/2023 16:05:08
Utilizando herencia, cree una superclase llamada “tienda” que contenga el nombre y código de algunos
productos (usted puede inventarse los códigos) Cree también una subclase llamada bebidas, que herede
los datos de “tienda” y agregue los datos de precio, cantidad, nombre de la empresa que la comercializa
y cantidad en existencia. En el principal, cree 5 productos que contengan todos los datos mencionados y
utilice JOptionPane para imprimir dichos datos en el entorno gráfico.

Me agradaria que me ayudaran a resolver el siguiente enunciado.
De antemano muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Clases y Herencias

Publicado por Kabuto (1381 intervenciones) el 28/04/2023 18:10:27
Hola.

Básicamente te están pidiendo crear esta relación de herencia entre clases:


claseTienda

Es decir, una superclase Tienda con unos atributos y métodos que podrían ser comunes a los productos de una tienda.
De ella, haremos la clase Bebida que heredará de Tienda esos atributos/métodos comunes y añadirá los suyos propios.

De esta forma, se podrían hacer otras clases que también heredasen de Tienda y así modelar todos los productos habituales de un comercio: Comida, Utensilio, Limpieza, Higiene,.... etc...

Esto en código Java, pues esta sería la clase Tienda:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Tienda {
 
	private String nombre;
	private String codigo;
 
	public Tienda(String nombre, String codigo) {
		this.nombre = nombre;
		this.codigo = codigo;
	}
 
	public String getNombre() {
		return nombre;
	}
 
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
 
	public String getCodigo() {
		return codigo;
	}
 
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
 
	@Override
	public String toString() {
		return String.format("Nombre: %s Codigo: %s", nombre, codigo);
	}
}

Y esta sería la clase Bebida.
Fíjate que en su constructor recibe los dos atributos que corresponde a la superclase Tienda, y se los hacemos llegar a esta clase con la instrucción super().
Esto es porque cuando construimos una Bebida, también estamos construyendo una Tienda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Bebida extends Tienda {
 
	private double precio;
	private int cantidad;
	private String proveedor;
 
	public Bebida(String nombre, String codigo, double precio, int cantidad, String proveedor) {
		super(nombre, codigo);
		this.precio = precio;
		this.cantidad = cantidad;
		this.proveedor = proveedor;
	}
 
	public double getPrecio() {
		return precio;
	}
 
	public void setPrecio(double precio) {
		this.precio = precio;
	}
 
	public int getCantidad() {
		return cantidad;
	}
 
	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}
 
	public String getProveedor() {
		return proveedor;
	}
 
	public void setProveedor(String proveedor) {
		this.proveedor = proveedor;
	}
 
	@Override
	public String toString() {
		return String.format("%s\nPrecio: %.2f Cantidad: %d Proveedor: %s",
				super.toString(), precio, cantidad, proveedor);
	}
}

Ambas clases traen un método toString() que sirve para mostrar de forma rápida los valores de los atributos en una cadena String.

Ahora, en una clase principal podemos crear 5 objetos de clase Bebida y mostrarlos con JOptionPane.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Principal {
 
	public static void main(String[] args) {
 
		//Creamos 5 Bebidas
		Bebida[] bebidas = new Bebida[5];
		bebidas[0] = new Bebida("CocaCola", "COD001", 1.25, 40, "Coke Factory");
		bebidas[1] = new Bebida("Fanta Limon", "COD002", 1.25, 35, "Coke Factory");
		bebidas[2] = new Bebida("Agua Fuente Sana", "COD003", 0.80, 60, "Bebidas Julian");
		bebidas[3] = new Bebida("Agua con Gas Fuente Alegre", "COD004", 0.95, 34, "Bebidas Julian");
		bebidas[4] = new Bebida("Vino Tempranillo", "COD005", 3.75, 80, "Bodegas Milano");
 
		//Creamos String con todos los datos de las bebidas
		String mensaje = "";
		for (int i = 0; i < bebidas.length; i++)
			mensaje += "Bebida #" + (i+1) + "\n" + bebidas[i].toString() + "\n\n";
		//Mostramos en JOptionPane
		JOptionPane.showMessageDialog(null, mensaje, "Lista Bebidas", JOptionPane.INFORMATION_MESSAGE);
 
	}
 
}


Y eso es todo, si aún te queda alguna duda solo tienes que preguntar.
Para practicar, aunque no lo pida el enunciado, puedes intentar crear tú ahora una clase llamada Comida o similar, que también herede de Tienda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jose Alfredo

Clases y Herencias

Publicado por Jose Alfredo (2 intervenciones) el 28/04/2023 18:26:34
Te agradezco demasiado en haberme ayudado!
!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar