De las clases Circulo, Rectangulo y Cuadrado a la Jerarquía

Anuncio
Circulo Rectangulo
Figura
Cuadrado
!
"
"
#
#
$
#
%
(#
#&
'
#
#)
*
! "#$%&
!"
!"
! "#$%&
%
#
!

#
(
"
$
% # &
"
'
'
(
!
!
'
)
'
(
(
!
)!
"
*
,-
!
.-
#
$
!
-
#
"
#
,
"
#
!
1#
"
.%
*
" #
#
!
#
#
"
+
!
"
+
!
#
)
"
"
#
"
!
*
+%
0-
4
"
)
+"
"
#
"
-
2
3
$
*
/-
*
+
#
!
5
"
"
-
"
"
"
3
/
0
$
*
#
+
"
*
2
3
4
-
.
! "
/
6
0
-
"
"
"
!'
/
6
0
"
1
"
". .
,
"
!
'
Figura f = new Figura();
Figura fC = new Circulo();
Figura fR = new Rectangulo();
int talla = 3;
Figura grupo[]
grupo[0] = new
grupo[1] = new
grupo[2] = new
,
"
)
!
= new Figura[talla];
Circulo();
Rectangulo();
Cuadrado();
1
-
&
3
!
!
5
7
4
&
&
.
!
!
#
.
!
.
9
6
!
!
#
!
&
.
9
'
:&
'
!
'
.
!
'
// Recorrido del Grupo con toString() sobrescrito
System.out.println("Grupo con las siguientes Figuras:");
for ( int i = 0 ; i < talla ; i++)
System.out.println(grupo[i].toString());
Figura f = new Figura(); Circulo c = new Circulo;
System.out.println(“Area =“+ c.area()));
f = c; System.out.println(“Area =“+ f.area()));
“cannot resove symbol – method area”
2
!
8
.
%
'
9
.
!'
!
#
!
!
.
<
Figura f = new Figura(); Circulo c = new Circulo();
f = c; System.out.println(“Area =“+ ((Circulo)f).area()));
%
=
'
Figura f = new Circulo();
System.out.println(ref.toString());//OK excepto si ref !=null
9
!'
!
!
!
.
>
"
%
/
0
;
int talla = 3;
Figura grupo[] = new Figura[talla];
grupo[0] = new Circulo();
grupo[1] = new Rectangulo();
grupo[2] = new Cuadrado();
Circulo c = (Circulo)grupo[0];
9
?
!
.
'
ClassCastException
;*
!
instanceof
5
!
instanceof
'
A
2
4
"
#
!
%
!
#
7
" #
"
;;
3#
4
*
...
-
#
;
2
5
$
!
;@
3
6
double areaDelGrupo = 0.0;
for ( i=0 ; i<talla; i++){
Figura f = grupo[i];
if (f instanceof Circulo) areaDeF=((Circulo)grupo[i]).area();
else
if (f instanceof Cuadrado) areaDeF=((Cuadrado)grupo[i]).area();
else if (f instanceof Rectangulo)areaDeF=((Rectangulo)grupo[i]).area();
areaDelGrupo += areaDeF;
}
Int numCirculos = 0;
for ( int i = 0 ; i < talla ; i++)
Figura f = grupo[i];
if (f instanceof Circulo) {
System.out.println(f.toString());
numCirculos++;
}
System.out.println(“Hay “+ numCirculos + “ Circulos”);
*
B
!
double areaDelGrupo = 0.0;
for ( i=0; i<talla; i++){ areaDelGrupo+= grupo[i].area();
)
"
&
Documentos relacionados
Descargar