Sunteți pe pagina 1din 5

ALUMNO: Carlos Vargas Corrales

CURSO: 2do A Ing. Mecatrnica

FECHA: 14-10-2013

Deber de Herencia: Hacer la herencia de la clase padre Figuras a sus dos clases
hijas que sern Circulo y Triangulo respectivamente, hallar el rea de cada
figura, y luego imprimir los datos del crculo, y del tringulo con mayor rea.
Consideraciones: Trabajar con vectores de objetos, inicializar primero las
clases hijas para luego trabajar con la clase padre, un mtodo de las cases
debe ser privado.
Cdigo:
import java.util.Scanner;
import java.lang.Math;
class Figuras1
{
private double area;
public void mostrar(double a)
{
this.area=a;
System.out.println("El area es: "+area);
}
}
class Circulo1 extends Figuras1
{
Scanner tec= new Scanner(System.in);
private double rad,pi,a=0;
public void inicializar_cir()
{
do{
System.out.println("Ingrese el radio del circulo para calcular
el area: ");
rad=tec.nextDouble();
}while(rad <0);
area_cir();
}
private void area_cir()
{
pi=Math.PI;
a=(rad*rad)*pi;

}
public double en_arci()
{
return a;
}
}
class Triangulo1 extends Figuras1
{
Scanner tec= new Scanner(System.in);
private double a=0,base,alt;
public void inicializar_tri()
{
do{
System.out.println("Ingrese la base del triangulo para calcular
el area: ");
base=tec.nextDouble();
}while(base <0);
do{
System.out.println("Ingrese la altura del triangulo para
calcular el area:");
alt=tec.nextDouble();
}while(alt <0);
area_tri();
}
private void area_tri()
{
a=(base*alt)/2;
}
public double en_artri()
{
return a;
}
}
public class herenciaFiguras {
public static void main(String[] args) {
Scanner tec= new Scanner(System.in);
int limite;
double ac,at;
do{
System.out.println("Ingrese la cantidad de circulos y
triangulos con los cuales a de trabajar:");
limite=tec.nextInt();
}while(limite<2 || limite>20);
Circulo1 []cir= new Circulo1[limite];
Triangulo1 []tri=new Triangulo1[limite];
for(int i=0;i<limite;i++)
{
ac=0;
System.out.println("**TRABAJANDO CON EL "+(i+1)+"
CIRCULO**");
cir[i]= new Circulo1();
cir[i].inicializar_cir();

ac=cir[i].en_arci();
cir[i].mostrar(ac);
}
//mayor area de circulo
double mayorc=cir[0].en_arci();
for(int i=0;i<limite;i++)
{
if(mayorc<cir[i].en_arci())
{
mayorc=cir[i].en_arci();
}
}
for(int i=0;i<limite;i++)
{
if(mayorc==cir[i].en_arci())
{
System.out.println("\n\n++ Circulo con mayor area
++");
ac=cir[i].en_arci();
cir[i].mostrar(ac);
}
}
for(int j=0;j<limite;j++)
{
at=0;
System.out.println("**TRABAJANDO CON EL "+(j+1)+"
TRIANGULO**");
tri[j]=new Triangulo1();
tri[j].inicializar_tri();
at=tri[j].en_artri();
tri[j].mostrar(at);
}
//mayor area de triangulo
double mayort=tri[0].en_artri();
for(int j=0;j<limite;j++)
{
if(mayort<tri[j].en_artri())
{
mayort=tri[j].en_artri();
}
}
for(int j=0;j<limite;j++)
{
if(mayort==tri[j].en_artri())
{
System.out.println("\n\n++ Circulo con mayor area
++");
at=tri[j].en_artri();
tri[j].mostrar(at);
}
}
}
}

Ejecucion:

Esquemas de los objetos:


1. Circulo

inicializar_cir()

inicializar_cir()

area_cir()

area_cir()

en_arci()

en_arci()
mostrar()

2. Triangulo

4
5

inicializar_tri()

inicializar_tri()

area_tri()

area_tri()

en_artri()

en_artri()
mostrar()

3. Figuras

mostrar()

S-ar putea să vă placă și