10 feb. 2011

Implementación de herencia

Taller de Programación Orientada a Objetos 
Semana 3 

Aquí les mostraré mis códigos, donde comienzo a hacer uso de la herencia. En los códigos que aquí muestro no son la versión más reciente de ellos, ya que les he estado modificando cosas, sobre todo en cuanto a comentarizar de forma correcta para la creación de documentación que estaré mostrandoles en la próxima semana. Así que mientras tanto les dejo el código donde hago uso de la herencia como ya mencione.

Comienzo por la clase ventana. Esta hereda los métodos de un JFrame que es necesario para la creación de una ventana en la pantalla.

package proyecto;
import javax.swing.JFrame;

/* Esta clase desplegara la ventana principal del
programa */

public class Ventana extends JFrame {

 public static void main(String[] args) {
  JFrame f = new JFrame();
  f.setSize(800, 600);
  f.setLocation(100, 100);
  f.setTitle("Ventana");
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
  return;
 }
}

Luego tenemos la clase Grafica que hereda a la vez métodos de Ventana.

package proyecto;

/* Generador de graficas a partir de los datos
que se obtengas de las tablas */

public class Grafica extends Ventana {

 public void queDatos() {
 }

 public void obtenerDatos() {
 }

 public void solicitarGrafica() {
 }

}

Las siguientes dos clases que muestro heredan atributos propios de la clase anterior, ya que podemos decir que estas son hijas de Grafica, y tendrán rasgos de su predecesor. Y como mencioné en la entrada para la clase realice un cambio en cuanto a un método que repetía en las dos subclases y que ahora están solo en la anterior, este método es obtenerDatos() que haciendo uso de herencia ya no es necesario repetirlo dos veces.

package proyecto;

public class GraficaHistograma extends Grafica {

 public void graficarHistograma() {
 }

}

package proyecto;

public class GraficaPastel extends Grafica {

 public void graficarPastel() {
 }

}

Y al igual que la clase Grafica, la clase Registro hereda cosas de Ventana, y este a la vez heredara atributos a RegistroNuevo.

package proyecto;

/* Esta parte sera encargada de organizar toda
la informacion escrita en las tablas de datos */

public class Registro extends Ventana {

 public void obtenerDatos() {
 }

 public void acomodarDatos() {
 }

 public void visualizar() {
 }

}

package proyecto;

public class RegistroNuevo extends Registro {

 private String Columna1;
 private String Columna2;
 private int numcol;
 private int numfil;

}

Como podemos apreciar el uso de extend es lo que usamos en Java para heredar métodos y variables de otra clase, y no solo pueden ser clases creadas en cierto programa, sino otras que ya están incluidas en el paquete de java como lo es el JFrame, que usé para la creación de una ventana.

Por el momento es todo, cualquier sugerencia o corrección es bien recibida.

1 comentario:

  1. Pues, ya tuvimos una conversación sobre lo que espero que pase con este diseño en el futuro cercano. Te pongo 4 por esta entrada.

    ResponderEliminar