• Source
    1. /* Ejemplo - aprenderaprogramar.com */
    2. /* Esta clase representa un depósito cilíndrico donde se almacena aceite */
    3.  
    4. public class Deposito {
    5.  
    6. //Campos de la clase
    7. private float diametro;
    8. private float altura;
    9. private String idDeposito;
    10.  
    11. //Constructor sin parámetros auxiliar
    12. public Deposito () {
    13. //Lo que hace es llamar al constructor con parámetros pasándole valores vacíos
    14. } //Cierre del constructor
    15.  
    16.  
    17. //Constructor de la clase que pide los parámetros necesarios
    18. public Deposito (float valor_diametro, float valor_altura, String valor_idDeposito) {
    19. if (valor_diametro > 0 && valor_altura > 0) {
    20. diametro = valor_diametro;
    21. altura = valor_altura;
    22. idDeposito = valor_idDeposito;
    23. } else {
    24. diametro = 10;
    25. altura = 5;
    26. idDeposito = "000";
    27. System.out.println ("Creado depósito con valores por defecto diametro 10 metros altura 5 metros id 000" );
    28. }
    29. } //Cierre del constructor
    30.  
    31. public void setValoresDeposito (String valor_idDeposito, float valor_diametro, float valor_altura) {
    32. idDeposito = valor_idDeposito;
    33. diametro = valor_diametro;
    34. altura = valor_altura;
    35. if (idDeposito !="" && valor_diametro > 0 && valor_altura > 0) {
    36. } else {
    37. System.out.println ("Valores no admisibles. No se han establecido valores para el depósito");
    38. //Deposito (0.0f, 0.0f, ""); Esto no es posible. Un constructor no es un método y por tanto no podemos llamarlo
    39. idDeposito = "";
    40. diametro = 0;
    41. altura = 0;
    42. } } //Cierre del método
    43.  
    44. public float getDiametro () {
    45. return diametro;
    46. } //Método de acceso
    47.  
    48. public float getAltura () {
    49. return altura;
    50. } //Método de acceso
    51.  
    52. public String getIdDeposito () {
    53. return idDeposito;
    54. } //Método de acceso
    55.  
    56. public float valorCapacidad () { //Método tipo función
    57. float capacidad;
    58. float pi = 3.1416f; //Si no incluimos la f el compilador considera que 3.1416 es double
    59. capacidad = pi * (diametro/2) * (diametro/2) * altura;
    60. return capacidad;
    61. }
    62.  
    63. } //Cierre de la clase
    64.  
    65.  
    66. /* Ejemplo - aprenderaprogramar.com */
    67. /*Esta clase representa un conjunto de depósitos formado por entre 2 y 3 depósitos */
    68.  
    69. public class GrupoDepositos extends Deposito {
    70.  
    71. private String idGrupo;
    72. private int numeroDepositosGrupo;
    73.  
    74. //Constructor para la clase. En ella se crean objetos de otra clase.
    75. public GrupoDepositos (String valor_idGrupo) {
    76. idGrupo = valor_idGrupo;
    77. } //Cierre del constructor
    78.  
    79. public int getNumeroDepositosGrupo () {
    80. return numeroDepositosGrupo;
    81. }
    82.  
    83. public String getIdGrupo () {
    84. return idGrupo;
    85. }
    86.  
    87. } //Cierre de la clase
    88.