Código de Java - Uso de clases anidadas, extends, implements

Imágen de perfil

Uso de clases anidadas, extends, implementsgráfica de visualizaciones


Java

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 16 de Julio del 2017 por Rafael Angel (Publicado el 15 de Julio del 2017)
1.080 visualizaciones desde el 15 de Julio del 2017. Una media de 28 por semana
Ejemplificasion de clases anidadas y el uso de implements, extends, abstract, interface.

Es un ejemplo básico y bastante simple del uso de esas habilidades Java.

Yo también soy un aprendis del lenguaje Java pero los algoritmos que he usado en VB6 los puedo traducir a Java.

Requerimientos

Tener instalado NetBeans, Eclipse, DrJava, Geany.
O cualquier compilador o interprete de Java.

1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 02 de Septiembre del 2017 (Publicado el 15 de Julio del 2017)gráfica de visualizaciones de la versión: 1.0
1.081 visualizaciones desde el 15 de Julio del 2017. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Usalo para mejorarlo y aprender conmigo este potente lenguaje.
Y si ya lo sabes entonces calificame, dime que nivel tengo en Java.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
//Clases anidadas y abstractas.
//Autor Rafael Angel Montero Fernpandez.
//Fecha 14/7/2017.
 
public class Anidadas
{
 
   public Anidadas()
   {
 
   }//Fin del cosntructor
 
   public String getInformacion()
   {
      FiguraGeometrica fg = new FiguraGeometrica
         (12 , 10, 14, 12);
      return "Area del objeto " + fg.getArea() + "\nPerimetro del objeto: " + fg.getPerimetro()
         + "\nVolumen del objeto: " + fg.getVolumen();
   }//Fin de getInformacion   
 
 
//___________________________________________________________________________________
  //Clases anidadas
 
 
abstract class Geometrica
{//Una clase abstracta tambien se puede usar como un origen de datos. Aclarando, un origen de variables en las cuales guardar datos y asi no tener que declararlas.
    int vAltura, vBase;
    int vLado,vAncho;
 
    public Geometrica()
    {
       vAltura=0;
       vBase=0;
       vLado=0;
       vAncho=0;
    }//Fin del constructor
 
   public abstract int fArea(int altura, int base);
 
}//Fin del class Geometrica
 
//--------------------------------------------------------------------------------------
 
class PerimetroArea extends Geometrica
{
 
   public int fArea(int altura, int base)//metodo heredado de Area
   {
      vAltura = altura;
      vBase = base;
      return vAltura * vBase;
   }//Fin de fArea
 
   public int fPerimetro(int medida_de_un_lado)//Metodo propio de esta clase
   {
      vLado = medida_de_un_lado;
      return vLado * 4;
   }
 
   public int fVolumen (int altura, int base, int ancho)
   {
      vBase = base;
      vAltura = altura;
      vAncho = ancho;
      return vBase * vAltura * vAncho;
   }//Fin de fVolumen
 
}//Fin del class PerimetroArea
//-----------------------------------------------------------------------------------
 
interface Getters
{
   public void setBase(int nueva_base);
   public int getBase();
   public void setAltura(int nueva_altura);
   public int getAltura();
   public void setAncho(int nuevo_ancho);
   public int getAncho();
   public void setLado(int nuevo_lado);
   public int getLado();
 
   public int getArea();
   public int getPerimetro();
   public int getVolumen();
}//Fin de la interface Getters
//-----------------------------------------------------------------------------------
 
class FiguraGeometrica extends PerimetroArea implements  Getters
{
 
 
   //Constructor para cargar todo.
   public FiguraGeometrica(int nueva_base, int nueva_altura, int nuevo_ancho, int nuevo_lado)
   {//Cargando todas las propiedades.
      setBase(nueva_base);
      setAltura(nueva_altura);
      setAncho(nuevo_ancho);
      setLado(nuevo_lado);
   }//Fin del cosntructor
 
 
 //Implementaciones de la interface  Getters 
 
   public int getVolumen()
   {
      return fVolumen (getAltura(), getBase(), getAncho());
   }//Fin de getVolumen
 
   public void setBase(int nueva_base)
   {
      vBase=nueva_base;
   }//Fin de setBase
   public int getBase(){ return vBase;}//Fin de getBase
 
   public void setAltura(int nueva_altura)
   {
      vAltura = nueva_altura;
   }//Fin de setAltura
   public int getAltura(){return vAltura;}//Fin de getAltura
 
   public void setAncho(int nuevo_ancho)
   {
      vAncho = nuevo_ancho;
   }//Fin de setAncho
   public int getAncho(){return vAncho;}//Fin de getAncho
 
   public void setLado(int nuevo_lado)
   {
      vLado = nuevo_lado;
   }//Fin de setLado
   public int getLado(){ return vLado;}//Fin de getLado
 
   public int getArea()
   {
      return fArea(getAltura(), getBase() );
   }//Fin de getArea
   public int getPerimetro()
   {
      return fPerimetro (getLado() );
   }//Fin de getPerimetro
 
 //*****************************************
 
 //implementaciones de la clase PerimetroArea.
 
   public int fArea(int altura, int base)//metodo heredado de Area
   {
      return altura * base;
   }//Fin de fArea
 
   public int fPerimetro(int medida_de_un_lado)//Metodo propio de esta clase
   {
      return medida_de_un_lado * 4;
   }
 
   public int fVolumen (int altura, int base, int ancho)
   {
      return altura * base * ancho;
   }//Fin de fVolumen   
 
 //*******************************************
 
}//Fin del class FiguraGeometrica
//___________________________________________________________________________________
 
 
}//Fin del class Anidadas



Comentarios sobre la versión: 1.0 (1)

Cristhian Alexis Galeano
02 de Septiembre del 2017
estrellaestrellaestrellaestrellaestrella
Buen aporte! Gracias
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s4069