Esta semana nos entramos al tema de herencia y polimorfismo, una herramienta que sirve para reutilizar código y reutilizar código.
Para mi software no pienso heredar un objeto de los que definí para mi software hace unas pocas semanas debido a que no me parecen lo suficiente abstractos así que solo aprovechare las clase de java ya existentes de java, las heredare a las mías y las orientare a mi conveniencia
La clase Lectora extendí la clase InpytStreamReader que métodos tales como regresar codificación de caracteres del archivo que se busca leer, leer carácter, leer un rango de caracteres que es lo que básicamente necesita esta clase.
package textedit;
import java.nio.charset.Charset;
public class Reader extends java.io.InputStreamReader {
// Atributos
private String[] nameFile;
private String[] extension;
//Constructor
public Reader(String name, String ext){
super(InputStream in, Charset cs);
this.nameFile = name;
this.extension = ext;
}
// Metodos
void lector(){} // prepara el texto para ser pedido por la clase Administradora de texto
private void decodificador(){} // esto podria dejarselo a la clase Charset
private void devolverLinea(){}
private void devolverDocumento(){}
}
Para la clase escritora escogí extender OutputStreamWriter que tiene métodos muy parecidos a InputStreamReader pero en escritura.
package textedit;
public class Writer extends OutputStreamWriter{
// atributos
private String[] nameFile;
private String[] extension;
private int nlines;
//Contructor
public Writer(String[] name, String[] ext){
super();
this.nameFile = name;
this.extension = ext;
}
// Metodos
private void codificar(String extension){}// Charset espero que me salve aquí
private void guardar(string[] nombreDelarchivo, String[] extencion, String[] datos){} // guarda usando las clases de OutputStreamWriter
}
Para la hoja extendí el JTextArea que se encarga de dibujar texto en la pantalla, tiene muchos metodos muy útiles.
package textedit;
public class Sheet extends javax.swing.JTextArea { // Una pare de la interfaz grafica y sabe estructurar el texto en la pantalla
// atributos
private int numeroLineas(){}
// Metodos
void intermedioEscucha(){} // comunicacion con intermedia
void dibujar(); // lo que sea que le manden
}
En la Interfaz gráfica me parece que lo primero que necesitas es el espacio donde mostrar tu programa así que mi GUI sera una hija de la clase JFrame que lo que hace es crear una ventana para trabajar.
package textedit;
public class GUI extends javax.swing.JFrame{
// atributos
private int numerodebotones;
// Metodos
private void dibujar(){}
}
Ahí va. Toma en cuenta las observaciones que acabo de hacer en las asesorías y estarás bien. Te pongo 5.
ResponderBorrar