Práctica Programación. Clase abstracta Identificador

package galia_kalchevska; import java.io.*; /*La clase la hacemos serializable para poder escribir los objetos en el fichero y después recuperarlos*/ /** * Clase que sirve para validar el CIF de un Cliente * * @author GALIA * @version 6.0 */ public abstract class Identificador implements Cloneable, Comparable<Identificador>, Serializable { /* Atributos privados */ private static final long serialVersionUID = 1L; /* Identificador general */ private static String id; /* con el que vamos a comparar, es auxiliar */ private Identificador identificador_comparando; /* Constructor */ public Identificador(String id) { Identificador.id = id; } /* Setter y getter */ public String getId() { return id; } public void setId(String id) { Identificador.id = id; } /* Obliga a implementar un método de validación */ public boolean validar() { return false; } public String toString() { return id; } /* ya te lo expliqué en la práctica de la segunda evaluación */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); return result; } /* * más de lo mismo, usamos instanceof para ver si un objeto es exactamente * igual a otro */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Identificador)) return false; setIdentificador_comparando((Identificador) obj); if (id == null) { if (Identificador.id != null) return false; } else if (!id.equals(Identificador.id)) return false; return true; } /* * Captura las excepciones en caso de que fuesen clases diferentes los * objetos que se comparan */ public int compareTo(Identificador obj) throws ClassCastException { return this.getId().compareTo(obj.getId()); } /* Getter y Setter */ public Identificador getIdentificador_comparando() { return identificador_comparando; } public void setIdentificador_comparando( Identificador identificador_comparando) { this.identificador_comparando = identificador_comparando; } }
La clase CIF hereda de Identificador, Identificador es abstracta y de ella no se pueden instanciar objetos.

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.