Está en la página 1de 7

Instituto Politcnico Nacional

Unidad Profesional Interdisciplinaria en


Ingeniera y Tecnologas Avanzadas




PRCTICA 1

HERENCIA
(CLASES Y OBJETO)



Profesor: Maricruz Trejo Salazar



Alumno:

DE LA ROSA GONZALEZ ALEXIS ALBERTO




Grupo: 2MM3








31 de Octubre de 2012
Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas

OBJETIVO

El alumno desarrollara los conceptos vistos en clase, ser capaz de crear un programa que utilice los
conceptos clase, objeto, atributos, mtodos, herencia y constructor.


DESCRIPCIN


El problema a resolver consiste en determinar que automvil es ms econmico para transitar por la ciudad,
considerando que el ms econmico es el que recorre ms kilmetros por menos consumo de litros de gasolina.

Los autos a considera son:


Id Modelo Marca No. Pasajeros

1. Jetta Vw 5
2. Focus Ford 5
3. Aveo Chevrolet 5



Donde el nmero corresponde al identificador del automvil y el nombre de automvil al modelo.


DESARROLLO

El alumno deber generar una clase vehculo, con los atributos marca, modelo, nmero de
pasajeros y los mtodos necesarios para obtener esta informacin.

Debe derivar una clase particular, la cual tenga como atributos, tanque (capacidad de litros de
gasolina) y recorrido (kilmetros realizados por el auto); debe tener los mtodos para asignar estos
valores y para obtenerlos, as como el mtodo que calcule los kilmetros recorridos con un litro de
gasolina.
Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas

Debe crear una programa que utilice el mtodo main para que en base a las clases anteriores
determine cul es el auto que recorre ms kilmetros con un litro de gasolina; con ello se debe
desplegar el mensaje siguiente: El auto ms econmico en gasto de gasolina es: ..... Considerando
que la capacidad del tanque de gasolina de los tres autos es de 40 litros.


PROCEDIMIENTO

1.- Como los ejemplos y ejercicios vistos en clase, primero se procedi a realizar la clase Vehculo, en
la que declaramos la clase principal y sus mtodos, los cuales nos devolveran el nombre del auto, la
marca y el nmero de pasajeros.

2.- De la clase anterior se procede a realizar una clase que herede los atributos anteriores (la marca,
modelo y nmero de pasajeros). Tambin en esta clase desarrollamos 2 mtodos nuevos, que son el
kilometraje recorrido y el nmero de litros de gasolina en el auto. Finalmente se declara el mtodo
para el clculo de eficiencia, utilizando el kilometraje recorrido y la eficiencia mediante la frmula:


=



3.- Por ltimo, una vez realizadas la clase principal (madre) y la clase heredada (hija) se procede a
realizar el main, donde nuestra razn principal del problema era compara las eficiencias de uno
sobre otro auto; se declaran los objetos J (Jetta), F (Focus), A (Aveo), todos ellos pertenecientes a la
clase principal (madre), por lo que contaban con los atributos de dicha clase ms los heredados
previamente. Posteriormente solicitamos al usuario que introduzca los valores los valores que se
solicitan en este caso 2 por cada auto (6) que son almacenados en variables de tipo double.

Por ltimo se realiza la relacin de eficiencias para indicarle al mtodo, que auto es el ms eficiente
dependiendo los datos suministrados anteriormente por el usuario.
CONCLUSIONES

Reforzamos lo visto en clase al emplear herencia en este ejercicio, pues nos ahorra implementar
constructores para cada atributo que declaremos en los autos. As, simplemente mediante la clase
madre podemos solicitar esos atributos sin la necesidad de volverlos a declarar.

Quedaron ms fijos los conceptos de constructor, herencia, clase, atributo, mtodo, pues a m an no
Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas
me quedaban claras las diferencias entre algunos de estos conceptos.


CDIGOS
Vehculo (Clase madre)

public class Vehiculo {
private String marca;
private String modelo;
private int pasajeros;

Vehiculo (String m,String mo,int p){
marca=m;
modelo=mo;
pasajeros=p;
}

public String obtenmarca(){
return marca;
}

public String obtenmodelo(){
return modelo;
}

public int pasajeros(){
return pasajeros;
}
}









Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas

PARTICULAR (Clase heredada o Hija)


public class Particular extends Vehiculo{
private double kmrecorridos;
private double litros;
private double efi;

Particular (String m, String mo, int p){
super(m, mo, p);
}

public void introducedatos (double km, double lt)
{
kmrecorridos=km;
litros=lt;
}

public double obtenlitros(){
return litros;
}

public double obtenkm(){
return kmrecorridos;
}

public double calculo(){
efi=kmrecorridos/litros;
return efi;
}
}








Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas

EFICIENCIA (MAIN)

public class Eficiencia {
public static void main(String [] args){
Particular J = new Particular("Jetta","Volkswagen",5);
Particular F = new Particular("Ford", "Focus",5);
Particular A = new Particular("Aveo","Chevrolet",5);

Scanner dato = new Scanner (System.in);
double a1,a2,a3,b1,b2,b3;
double efi1, efi2, efi3;


System.out.println("introduce el numero de litros del auto 1");
a1 = dato.nextDouble();
System.out.println("Introduce el numero de km recorridos del auto 1");
b1 = dato.nextDouble();
J.introducedatos(b1,a1);
efi1 = J.calculo();

System.out.println("introduce el numero de litros del auto 2");
a2 = dato.nextDouble();
System.out.println("Introduce el numero de km recorridos del auto 2");
b2 = dato.nextDouble();
F.introducedatos(b2,a2);
efi2 = F.calculo();

System.out.println("introduce el numero de litros del auto 3");
a3 = dato.nextDouble();
System.out.println("Introduce el numero de km recorridos del auto 3");
b3 = dato.nextDouble();
A.introducedatos(b3,a3);
efi3 = A.calculo();

System.out.println("MARCA: " + J.obtenmarca() +
"\n\t MODELO: " + J.obtenmodelo() +
"\n\t Pasajeros: " + J.pasajeros() +
"\n\t Litros en el tanque: " + J.obtenlitros() +
"\n\t Km recorridos: " + J.obtenkm() +
Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria en
Ingeniera y Tecnologas Avanzadas
"\n\t Eficiencia del auto: " + efi1);

System.out.println("MARCA: " + F.obtenmarca() +
"\n\t MODELO: " + F.obtenmodelo() +
"\n\t Pasajeros: " + F.pasajeros()+
"\n\t Litros en el tanque: " + F.obtenlitros() +
"\n\t Km recorridos: " + F.obtenkm() +
"\n\t Eficiencia del auto: " + efi2);

System.out.println("MARCA: " + A.obtenmarca() +
"\n\t MODELO: " + A.obtenmodelo() +
"\n\t Pasajeros: " + A.pasajeros()+
"\n\t Litros en el tanque: " + A.obtenlitros() +
"\n\t Km recorridos: " + A.obtenkm() +
"\n\t Eficiencia del auto: " + efi3);

double Eficiencia=0;
if ((efi1>efi2) && (efi1>efi2)){
Eficiencia = efi1;
}

if ((efi2>efi1) && (efi2>efi3)) {
Eficiencia = efi2;
}

if ((efi3>efi1) && (efi3>efi2)) {
Eficiencia=efi3;
}

System.out.println("El auto ms econmico en gasto de gasolina es el de eficiencia: " + Eficiencia);
}
}