java interface practice
java interface practiceunknown
java
4 years ago
1.9 kB
9
Indexable
package codigo;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// deberia valer 45 despues
ServicioComplejo scomplejo1 = new ServicioComplejo(15, 3);
// deberia valer 20
Insumo insumo1 = new Insumo(20);
ArrayList<Facturable> listaFacturables = new ArrayList<Facturable>();
listaFacturables.add(scomplejo1);
listaFacturables.add(insumo1);
for (Facturable facturable : listaFacturables) {
System.out.println(facturable.calcularCostos());
if (facturable instanceof ServicioComplejo) {
System.out.println("soy Servicio Complejo");
}
if (facturable instanceof Insumo) {
System.out.println("Soy Insumo");
}
}
}
}
//
package codigo;
public interface Facturable {
public int calcularCostos();
}
//
package codigo;
public class Insumo implements Facturable {
private int precio;
public Insumo(int precio) {
this.setPrecio(precio);
}
private void setPrecio(int precio) {
this.precio = precio;
}
public int getPrecio() {
return this.precio;
}
public int calcularCostos() {
return this.getPrecio();
}
}
//
package codigo;
public class Servicio implements Facturable {
private int precio;
public Servicio(int precio) {
this.setPrecio(precio);
}
private void setPrecio(int precio) {
this.precio = precio;
}
public int getPrecio() {
return this.precio;
}
public int calcularCostos() {
return this.getPrecio();
}
}
//
package codigo;
public class ServicioComplejo extends Servicio {
private int nivelComplejidad;
public ServicioComplejo(int precio, int nivelComplejidad) {
super(precio);
this.nivelComplejidad = nivelComplejidad;
}
public int calcularCostos() {
return this.getPrecio() * this.nivelComplejidad;
}
}
//
Editor is loading...