ENCAPSULAMIENTO
Constructores, niveles de acceso, métodos
get/set, palabra reservada this.
Creación de objetos desde una GUI.
Constructores
Un
constructor es un componente de una clase, a través de la cual se puede
inicializar los atributos de un objeto creado. Cuando una clase no tiene
constructor explícito, se considera un constructor implícito por defecto con un
bloque de código vacío.
Una
clase puede tener varios constructores. Sin embargo, deben diferenciarse por la
cantidad y/o tipo de parámetros. Cuando se crea un objeto, se invoca
automáticamente al constructor que corresponda a los parámetros dados. Si no
encuentra un constructor adecuado, se produce un error.
Niveles
de acceso
Existen
3 niveles de acceso a los componentes de una clase: prívate, protected,
public. El acceso prívate permite la implementación de la
característica del encapsulamiento, el acceso protected facilita la
implementación de la característica de la herencia y el acceso public permite
el acceso a la funcionalidad de la clase desde cualquier objeto. Los atributos
de una clase deben ser de acceso prívate o protected, nunca public. Un
constructor siempre debe ser de acceso public. Los métodos pueden ser de
cualquier nivel de acceso, dependiendo de la apertura a la funcionalidad de la
clase.
Nivel de acceso
|
En Clase
|
Desde
un objeto
|
Desde
la Clase hija
(Herencia)
|
Private
|
SI
|
NO
|
NO
|
Protected
|
SI
|
NO
|
SI
|
Public
|
SI
|
SI
|
SI
|
Métodos get/set
Los métodos get son aquellos que permiten acceder a los
atributos desde un objeto. Los métodos set son aquellos que permiten
modificar el contenido de los atributos desde un objeto.
Estos
métodos se han estandarizado, por eso se les conoce como los métodos get/set.
Incluso, los entornos de programación modernos, como NetBeans, generan
la escritura del código correspondiente.
Palabra
reservada this
La
palabra reservada this se utiliza para diferenciar el nombre del
atributo con el nombre del parámetro cuando éstos coinciden. También es
utilizada para referirse a la ventana gráfica vigente y activa. Por
ejemplo:
this.codigo
= codigo;
JOptionPane.showMessageDialog(this,”
mensaje de texto”);
Ejemplo 1
Diseñe
una clase de nombre Producto con los siguientes atributos privados:
código (cadena), descripción (cadena), precio (real); con un constructor y con
los métodos públicos get/set.
public
class Producto {
//
atributos privados
private
String codigo, descripcion;
private
double precio;
// constructor
public
Producto(String codigo, String descripcion, double precio){
this.codigo=codigo;
this.descripcion=descripcion;
this.precio=precio;
}
// métodos get-set generados por NetBeans
public String
getCodigo() {
return codigo; }
public void
setCodigo(String codigo) {
this.codigo = codigo; }
public String
getDescripcion() {
return descripcion; }
public void
setDescripcion(String descripcion) {
this.descripcion =
descripcion; }
public double
getPrecio() {
return precio; }
public void
setPrecio(double precio) {
this.precio
= precio; }
}
//
fin de la clase
Observe y analice el desarrollo del constructor y el
uso de la palabra reservada this.
Considere el siguiente diseño y
programe la acción del botón Nuevo.
private void
btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {
Producto nuevo = new
Producto(leeCodigo(),leeDescripcion(),leePrecio());
lista(nuevo);
}
0 comentarios:
Publicar un comentario