Professional Documents
Culture Documents
Programacin II
pointOne.setX(20);
Por convencin, para llamar a un mtodo de clase, el nombre del mtodo debe estar precedido por el nombre de la clase:
Point.getNumberOfInstances()
Esto tiene sentido porque las variables de clase no son parte de ningn objeto, por lo que los mtodos que operan en ellos no estn asociados a ningn objeto en particular.
Herencia
// ilegal
Person person = new Person ("Joe Smith", "100 Main Ave"); double salary = ((Employee) person).getSalary(); // ilegal
El Operador instanceof
El operador instanceof toma dos operandos: una referencia de un objeto y un nombre de clase. Una expresin instanceof se evaluar como verdadera si el objeto especificado es una instancia de la clase especificada:
El Operador instanceof
La expresin tambin resultar verdadera si object es una instancia de una subclase de ClassX. De hecho, si object es una instancia de cualquier clase que tenga a la ClassX como ancestro, entonces la expresin resultar verdadera. Si el operador del lado izquierdo tiene un valor de null, la expresin instanceof resultar falsa. Observa que el operador instanceof no puede ser utilizado para determinar el tipo de una expresin primitiva.
El Operador instanceof
El operador instanceof es utilizado con frecuencia para evitar una conversin ilegal:
Person person = new Person ("Joe Smith", "100 Main Ave"); if (person instanceof Employee) { salary = ((Employee) person).getSalary(); }
Metodo equals
El mtodo equals compara dos objetos y regresa verdadero s y solo si son iguales. La versin de este mtodo definida en la clase Object regresa true si los objetos que estn siendo comparados son el mismo objeto. Esta implementacin predeterminada es exactamente lo mismo que obj1 == obj2.
Metodo equals
El mtodo equals toma un parmetro de entrada, una referencia de Object. En Java, esto significa que una referencia a un objeto de cualquier tipo puede ser pasada a equals. Por lo mismo, equals puede utilizarse para comparar dos instancias de cualquier clase.
Metodo equals
El mtodo equals, tal y como est definido en Object, no resulta apropiado para la mayora de las clases, por lo que muchas de ellas lo sobrescriben. La versin de equals en la mayora de las clases regresa true cuando los objetos que se estn comparando tienen el mismo estado, esto es, contienen los mismos datos.
Mtodo toString
La clase Object define un mtodo llamado toString que regresa la representacin string del objeto que hace la llamada. La versin de este mtodo definida en la clase Object regresa un String con el siguiente formato:
NombreClase@numero
Donde NombreClase es el nombre de la clase del objeto y nmero es un nmero hexadecimal que identifica al objeto.
Mtodo toString
Es recomendable que todas las subclases sobrescriban el mtodo toString. Las clases comnmente redefinen el mtodo toString de modo que el String regresado contenga la representacin textual del objeto
code. El cdigo nico que identifica el elemento del catlogo. title. El ttulo del elemento del catlogo year. El ao en que fue publicado el elemento del catlogo. available. Indica si el elemento del catlogo est disponible.
public CatalogItem(String initialCode, String initialTitle, int initialYear) Constructor que inicializa las variables de instancia code, title, year y available. public String getCode(). Regresa el valor de la variable de instancia code. public String getTitle(). Regresa el valor de la variable de instancia title. public int getYear(). Regresa el valor de la variable de instancia year. public void setAvailable(boolean value). Modifica el valor de la variable de instancia available. public boolean isAvailable(). Regresa el valor de la variable de instancia available.
La Clase Book
La clase Book modela un libro. Extiende la clase CatalogItem. Variables de instancia:
author. El autor del libro numberOfPages. El nmero de pginas del libro public Book(String initialCode, String initialTitle, int initialYear, String initialAuthor, int initialNumberOfPages) Constructor que inicializa las variables de instancia code, title, year, available, author y numberOfPages.
Constructor y mtodos:
La Clase Book
public String getAuthor(). Regresa el valor de la variable de instancia author. public int getNumberOfPages(). Regresa el valor de la variable de instancia numberOfPages. String toString(). Sobrescribe el mtodo toString de la clase Object. Regresa la representacin String del objeto Book. La cadena regresada tiene el siguiente formato: code_title_year_available_author_numberOfPage s Los campos estn separados por un guin bajo ( _ ). Suponemos que los campos no contienen ningn guin bajo.
La Clase Recording
La clase Recording modela una grabacin, ya sea un CD o una cinta. Extiende la clase CatalogItem. Variables de instancia:
performer. El intrprete de la grabacin format. El formato de la grabacin public Recording(String initialCode, String initialTitle, int initialYear, String initialPerformer, String initialFormat) Constructor que inicializa las variables de instancia code, title, year, available, performer y format.
Constructor y mtodos:
La Clase Recording
public String getPerformer(). Regresa el valor de la variable de instancia performer. public String getFormat(). Regresa el valor de la variable de instancia format. String toString(). Sobrescribe el mtodo toString de la clase Object. Regresa la representacin String del objeto Recording. La cadena regresada tiene el siguiente formato: code_year_available_title_performer_format Los campos estn separados por un guin bajo ( _ ). Suponemos que los campos no contienen guiones bajos.
La Clase Borrower
La clase Borrower modela un usuario de la biblioteca. Variables de instancia:
id. El nmero de identificacin del usuario name . El nombre de un usuario public Borrower(String initialId, String initialName) Constructor que inicializa las variables de instancia id y name.
Constructor y mtodos:
La Clase Borrower
public String getId(). Regresa el valor de la variable de instancia id. public String getName(). Regresa el valor de la variable de instancia name. boolean equals(Object object). Sobrescribe el mtodo equals de la clase Object. Dos objetos Borrower son iguales si sus nmeros de identificacin son iguales. String toString(). Sobrescribe el mtodo toString de la clase Object. Regresa la representacin String del objeto Borrower. La representacin String tiene el siguiente formato:
id_name
Los campos estn separados por un guin bajo ( _ ). Suponemos que los campos no contienen guiones bajos.