Java - Clases anidadas

 
Vista:

Clases anidadas

Publicado por Javier Contreras (3 intervenciones) el 01/03/2019 18:38:42
Necesito crear una clase en java con anidamiento pero el problema es que aún no se cómo hacerlo, si alguien gusta ayudarme le agradecería !!!

Está es la leyenda
"Anidamiento formal con clase biblioteca y clase libro"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Clases anidadas

Publicado por Kabuto (1382 intervenciones) el 01/03/2019 23:45:28
Yo por "clase anidada" entiendo lo mismo que explica el enlace que ha puesto Billy

Lo "normal" es que escribamos cada clase por separado, cada una en su archivo .java. Principalmente porque de este modo podemos aprovechar esa misma clase en distintos programas.

Ahora bien, existe la posibilidad de declarar una clase dentro de otra clase, si el programador lo considera oportuno.

Es decir, podríamos tener la clase Biblioteca como clase principal, en un archivo llamado Biblioteca.java.
Y dentro de esta misma clase, de igual modo que podemos definir distintos métodos, podemos definir también clases, en este caso definiríamos la clase Libro.

Un ejemplo así rápido podría ser esto:

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
public class Biblioteca {
 
     //Atributos
    private Libro[] arrayDeLibros;
    private int indiceLibros;
 
    //Constructor
    public Biblioteca(int cantidadLibros) {
        arrayDeLibros = new Libro[cantidadLibros];
        indiceLibros = 0;
    }
 
    //Metodos
    public void addLibro(Libro lib) {
        arrayDeLibros[indiceLibros] = lib;
        indiceLibros++;
    }
 
    //Clases anidadas
    class Libro {
        String titulo;
        String autor;
        String sinopsis;
        String ISBN;
 
        public Libro(String tit, String aut, String sinop, String ISB) {
            titulo = tit;
            autor = aut;
            sinopsis = sinop;
            ISBN = ISB;
    }
 
 
    public static void main(String[] args) {
            Biblioteca biblio= new Biblioteca(100);
            String titulo = "El sushi está sobrevalorado";
            String autor = "Kabuto";
            String sinopsis = "Reflexiones sobre el exponente gastronómico japonés.\n"
                                         + "El autor considera este manjar soso y aburrido, "
                                          + "aunque aceptable si se adereza con cebolla caramelizada.";
            String ISBN = "874356-110";
            biblio.addLibro(new Libro(titulo, autor, sinopsis, ISBN);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar