Conviértete en un emprendedor,profesional del conocimiento en la programación

viernes, 6 de enero de 2012

ENCAPSULAMIENTO

Compartir con:


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