001 /** Clase MaletaX
002  *  @Author: Emerson Castañeda S
003  *  Para mostrar como implementar la herencia en java
004  **/
005 
006 
007 public class MaletaX extends Maleta//hereda de la clase Maleta
008 {
009   //atributos de la clase
010   private int numBolsillos;
011     private int capMaximas[];
012     private int estActuales[];
013   
014   //constructor por defecto
015     MaletaX()
016     {  
017       super();
018         numBolsillos = 3;
019         capMaximas = new int[3];
020         estActuales = new int[numBolsillos];
021         capMaximas[02;
022         capMaximas[15;
023         capMaximas[23;
024         estActuales[00;
025         estActuales[10;
026         estActuales[00;
027     }
028     
029   //constructor con parametros que recibe
030   //el numero de bolsillos de la maleta
031   //la capacidad maxima de cada bolsillo
032   //y el estado actual de cada uno
033   //y los parametros de inicializacion del la 
034   //super clase Maleta
035     MaletaX(int i, int ai[]int ai1[],int color, String tipo, float x, float y, float z)
036     {
037       super(color,tipo,x,y,z);
038         int j = 0;
039         int k = 0;
040         numBolsillos = i;
041         capMaximas = new int[i];
042         estActuales = new int[i];
043         for(int l = 0; l < i; l++)
044         {
045             capMaximas[l= ai[l];
046             j += ai[l];
047             estActuales[l= ai1[l];
048             k += ai1[l];
049         }
050 
051         super.setCapMaxima(j);
052         super.setEstActual(k);
053     }
054 
055   //metodos set y get
056     public int getNroBolsillos()
057     {
058         return numBolsillos;
059     }
060 
061     public int getEstActuales(int i)
062     {
063         return estActuales[i - 1];
064     }
065 
066     public int getCapMaximas(int i)
067     {
068         return capMaximas[i - 1];
069     }
070 
071   //otros metodos
072   
073   // metodo para colocar elementos en la maleta indicando 
074   // el numero del bolsillo y el numero de elementos a colocar
075   // controla que no se exceda la capacidad maxima del bolsillo
076     public boolean llenarX(int i, int j)
077     {
078         if(llenar(j))
079         {
080             if(capMaximas[i - 1>= estActuales[i - 1+ j)
081             {
082                 estActuales[i - 1+= j;
083                 return true;
084             else
085             {
086               sacar(j);
087                 return false;
088             }
089         else
090         {
091             return false;
092         }
093     }
094 
095   // metodo para sacar elementos de la maleta indicando 
096   // el numero del bolsillo y el numero de elementos a sacar
097   // controla que no se excedan las existencias del bolsillo
098     public boolean sacarX(int i, int j)
099     {
100         if(sacar(j))
101         {
102             if(estActuales[i - 1- j >= 0)
103             {
104                 estActuales[i - 1-= j;
105                 return true;
106             else
107             {
108               llenar(j);
109                 return false;
110             }
111         else
112         {
113             return false;
114         }
115     }
116 
117   // redefinicion del metodo toString de Maleta para complementar la 
118   // informacion asociada a la clase  MaletaX
119     public String toString()
120     {
121         String s = super.toString();
122         s = s + "\nNro Bolsillos : " + numBolsillos;
123         s = s + "\nCap. Bolsillos : [ ";
124         for(int i = 0; i < numBolsillos; i++)
125             s = s + " " + capMaximas[i];
126 
127         s = s + " ]";
128         s = s + "\nEst. Bolsillos : [ ";
129         for(int j = 0; j < numBolsillos; j++)
130             s = s + " " + estActuales[j];
131 
132         s = s + " ]\n--------------------------";
133         return s;
134     }
135 
136     
137 }
Java2html
1