Joan Ballester

Programación, Desarrollo Web, Software libre, GNU/Linux, Debian, Tecnología

Programación orientada a objetos. Visibilidad de los atributos y métodos.

Quinta entrada acerca de la programación orientada a objetos, en esta entrada hablaremos la visibilidad de los atributos y métodos.

Hasta ahora sabemos que una clase puede tener un número indeterminado de atributos y/o métodos y que es conveniente que la clase oculte toda la información que no es relevante para su uso, para favorecer la modularidad.

Y que, cuanta menos información pública tenga una clase, menos probable será que se propaguen los cambios que hacemos.

Si seguimos estas reglas de diseño contribuímos a incrementar factores de calidad, como son reutilización, portabilidad y facilidad del uso de las clases.

Veamos detenidamente qué trataremos hoy:

Un objeto siempre puede acceder a cualquier atributo o método de la clase a la que perteece y usarlo sin restricción. Para poder establecer la visibilidad de los atributos y métodos, los lenguajes de programación definen 3 niveles de acceso.

  • Público: Cualquier clase puede acceder a cualquier atributo o método declarado como público y usarlo
  • Protegido: Cualquier clase hija puede acceder a cualquier atributo o método declarado como protegido en su clase madre y usarlo
  • Privado: Ninguna clase puede acceder a un atributo o método declarado como privado y usarlo

Veamos un ejemplo en Java:

Class Alumno {
{
     // atributos
     private String nombre;
     private String apellido;
     private int edad;
     // métodos de acceso
     public void setNombre(String pNombre) {
          nombre = sacarNombre(pNombre);
          apellido = sacarApellido(pNombre);
     }
     public void setEdad(int pEdad){
          edad = pEdad;
     }
     public String toString(){
          return(nombre + " tiene " + edad + " años.");
     }
}

En UML las clases se representan con una tabla dividida en 3 partes, nombre de la clase, atributos de la misma, y métodos de la misma. La visibilidad de estos atributos y métodos se representa mediante símbolos:

  • “+”: Público
  • “#”: Protegido
  • “-”: Privado

En resumen:

La visibilidad de atributos y métodos en la POO nos ayuda a incrementar factores de calidad, como son reutilización, portabilidad y facilidad del uso de las clases.

Nos ayudará a que podamos reutilizar código sin miedo a que esa reutilización nos “desmonte el chiringuito” ;-)

Saludos!

Joan Ballester: 8 noviembre, 2008 @ 13:09
Categoría: Programación
Etiquetas: , .

No hay comentarios »

Aún no hay comentarios.

RSS feed para los comentarios de esta entrada. TrackBack URL

Deja un comentario