Professional Documents
Culture Documents
base y se implementan en la clase derivada o hija. La ventaja es reutilizar el cdigo y facilitar las implementaciones de clases usando el polimorfismo. Toda clase abstracta se define usando la clausula abstract y debe tener por lo menos un mtodo abstracto. LABORATORIO 1. 2. 3. 4. Crear una carpeta con el nombre Clase Abstracta en el escritorio. Crear un proyecto con el nombre PJX_Clase_Abstracta Crear un paquete con el nombre PCK_ClaseAbstracta Crear una clase llamada Vivienda, debe ser abstracta con atributos rea, precio, adicional, total y si tiene o no cochera. Adems debe tener un mtodo abstracto llamado calcularAdicional, y otros mtodos tales como calcularPrecio, calcularTotal e Imprimir. El precio est en funcin al rea considerando la siguiente tabla: rea Hasta 100 Hasta 200 En otro caso Precio S/. 200 270 310
Para calcular el total se considera el precio ms el adicional. En este caso con las indicaciones dadas implementar dicha clase con el siguiente cdigo:
package PCK_ClaseAbstracta; import java.io.PrintWriter; public abstract class Vivienda { private double area; private double precio; private double adicional; private double total; private char amocoche; //declarar un metodo abstracto para calcular el adicional public abstract void calcularAdicional(); //Definir el mtodo para calcular el Precio public void calcularPrecio(){ if(getArea()<=100) setPrecio(200); else if (getArea()<=200) setPrecio(270); else setPrecio(310); } //Definir el mtodo para calcular el total public void calcularTotal(){ setTotal(getPrecio() + getAdicional()); } //Definir el mtodo para imprimir public void imprimir(){ PrintWriter p= new PrintWriter (System.out,true); p.println("Precio : "+getPrecio()); p.println("Area : "+getArea()); p.println("Adicional : "+getAdicional()); }
Pgina 1
5. Crear una clase llamada Casa heredada de la clase Vivienda, esta clase debe tener dos atributos llamados ubicacin e incremento. Para calcular el adicional se considera si tiene o no cochera, si tiene cochera se aplica el 30% del precio. El incremento est en funcin a la ubicacin segn la siguiente tabla: Ubicacin Incremento Avenida 60% del Precio Jirn 50% del Precio Pasaje 30% del Precio El precio se calcula considerando su precio base ms el incremento, adems debe tener un mtodo llamado imprimir para mostrar los datos resultantes. En este caso con las indicaciones dadas implementar dicha clase con el siguiente cdigo:
package PCK_ClaseAbstracta; import java.io.PrintWriter; public class Casa extends Vivienda { private char ubicacion; private double incremento; //Implementar el mtodo abstracto calcularAdicional public void calcularAdicional(){ if (getAmocoche()=='S')
Pgina 2
6. Crear una clase llamada Departamento heredada de la clase Vivienda, esta clase debe tener dos atributos llamados piso y descuento. Para calcular el adicional se considera si tiene o no cochera, si tiene cochera se aplica S/.35.00. Si el departamento tiene ms de 3 pisos el descuento es el 3% del precio. Adems la clase debe tener un mtodo llamado calcularTotal donde se considera el total base menos el descuento. Adems debe tener un mtodo llamado imprimir para mostrar los datos resultantes. En este caso con las indicaciones dadas implementar dicha clase con el siguiente cdigo:
package PCK_ClaseAbstracta; //Heredar la clase Departamento de Vivienda import java.io.PrintWriter; public class Departamento extends Vivienda { private int piso; private double descuento; //Implementar el mtodo abstracto calcularAdicional public void calcularAdicional(){ if(getAmocoche()=='S') setAdicional(35.00);
Pgina 3
7. Crear una clase ejecutable llamada AplicacionInmobiliaria con el siguiente cdigo para usar las clase implementadas:
package PCK_ClaseAbstracta; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; public class AplicacionInmobiliaria { public static void main(String[] args) throws IOException { //Preparar codigo para el ingreso de datos InputStreamReader x= new InputStreamReader(System.in); BufferedReader y= new BufferedReader(x); PrintWriter p= new PrintWriter (System.out,true); p.println("******************** Casa ********************"); //Crear la instancia pasa casa Casa c=new Casa(); p.println("Area :"); c.setArea(Double.parseDouble(y.readLine())); p.println("Ingresar Ubicacin (A)venida, (J)irn, (P)asaje : "); c.setUbicacion(y.readLine().charAt(0)); p.println("Est Amoblada (S/N) : ?"); c.setAmocoche(y.readLine().charAt(0)); //Calcular el incremento c.calcularIncremento(); //Calcular el Precio c.calcularPrecio();
Pgina 4
Pgina 5