Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tecnología de la Programación I
Ing. Zoraida Vidal Melgarejo, Mg.
Sobrecarga de métodos
– Varios métodos en una clase pueden tener el mismo nombre.
– Los métodos deben tener diferente tipo o número de
parámetros.
1
Uso de la referencia this
• Los métodos de instancia reciben un argumento llamado this,
que se refiere al objeto actual.
public class Pelicula {
public void setCategoria(String newCategoria){
categoria = newCategoria; this
}
titulo : null
void cualquierMetodo() { peli1 categoria: “PG”
Pelicula peli1 = new Pelicula();
Pelicula peli2 = new Pelicula(); titulo: null
peli1.setCategoria("PG"); … peli2 categoria: null
2
Los constructores
– Para la inicialización apropiada, una clase debe proporcionar un
constructor.
– Un constructor es llamado automáticamente cuando el objeto es
creado:
• Generalmente declarado público
• Tiene el mismo nombre que la clase
• No especifica tipo de retorno
– El compilador provee un constructor sin parámetros si, y sólo si, no
se proporciona un constructor explícitamente.
• Si se proporciona cualquier constructor explícitamente, entonces
el compilador no genera un constructor sin parámetros.
5
3
Compartiendo código entre los constructores
Pelicula peli2 = new Pelicula();
public Pelicula() {
this("G");
}
public Pelicula(String nuevaCategoria){
¿Qué sucede categoria = nuevaCategoria;
aquí? }
}
4
Recolección de basura
– Cuando todas las referencias a un objeto se pierden, el objeto está
marcado para la recolección de basura.
– La recolección de basura libera la memoria que es utilizada por el
objeto.
– La recolección de basura es automática.
– No hay necesidad de que el programador haga cualquier cosa,
pero el programador puede opcionalmente llamar a System.gc();.
10
5
Las clases internas
– Clases que se definen dentro de otra clase.
– Fuerzan una relación entre dos clases.
– Son de cuatro tipos:
• Static
• Miembro
public class Externa { …
• Local class Interna { …
• Anónima }
}
Incluir la clase
11
12
6
Definición de la clase interna miembro
– Definido en el nivel de la clase.
– Son necesarias instancias de la clase externa
– La palabra clave this se utiliza para tener acceso a la instancia
externa
public class Outer {
14
7
Definición de una clase interna anónima
– Definido en el nivel de los métodos.
– Se declaran dentro de un bloque del código.
– Evita el uso de las palabras reservadas de class, extends e
implements.
– No pueden tener un constructor.
public class Externa {
...
public void metodoExterno(){
AlgunaClase obj = new AlgunaClase();
...
obj.algunMetodo(
// creación de la clase anónima
new ListSelectionListener() {
// implementación de métodos
public void valueChanged( … ) { …}
} // fin de la clase anónima
); // fin de la llamada
...
}// fin del método 15
}// fin de la clase externa