Muy buen curso de java en espanol

Page 42

Capítulo 6: Programación orientada a objetos 6.3.2

Java

Constructores

Toda clase tiene que tener al menos un constructor, así que si no declaramos ninguno dispondremos por lo menos del llamado constructor por defecto o de oficio. Dicho constructor no tiene parámetros y da valor 0 (numéricos), false (booleano), ‘\u0000’ (carácter) o null a todos los atributos no inicializados explícitamente en su declaración. En este caso la clase Empleado no dispone de constructor sin parámetros porque en las líneas 10 a 15 se define uno con tres parámetros que inicializa todos los atributos del objeto creado. Es recomendable que esto ocurra para evitar errores por acceso a atributos con valor null. Podríamos haber definido otros constructores siempre que hubieran tenido un número o tipo diferente de parámetros. Es muy habitual el uso de la sobrecarga en los constructores. Los constructores no tienen valor de retorno (no hay que especificar void) Ejercicio 6.1 Crear una clase PruebaEmpleado (no hace falta gestionar la e/s) para probar la clase Empleado. Se tienen que instanciar unos cuantos empleados, mostrarlos por pa ntalla, aumentarles el sueldo en un porcentaje y finalmente mostrar de nuevo los datos para comprobar que se han modificado. Os puede ser de utilidad introducir los empleados en un array que podéis recorrer para imprimir los datos.

6.3.3

Acceso a los miembros del propio objeto

Los métodos vistos hasta el momento se invocan sobre un objeto. En el código de un método podemos acceder a los atributos del objeto con solo escribir el nombre del atributo. Tenemos un ejemplo de ello en la línea 19 de Empleado con return name;

No obstante hay una forma de explicitar que se está referenciando el objeto que recibe el mensaje con this. Se podría haber escrito return this.name;

Del mismo modo se pueden hacer llamadas a métodos sobre el mismo objeto con sólo escribir su nombre y parámetros. . 6.3.4

Visibilidad public y private

El diseñador de una clase debe asegurarse que la interacción con los objetos de la clase se realiza a través de un interfaz simple y bien definida. Este interfaz no debe permitir hacer un uso inadecuado de la clase. Imaginemos por ejemplo, que tenemos una clase Pila implementada con un array y dos enteros para la posición de la cima y el número de elementos apilados. Sería muy perjudicial que un usuario incauto de la clase Pila pudiera

- 40 -


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.