Logo Studenta
¡Este material tiene más páginas!

Vista previa del material en texto

INTRODUCCIÓN A CONTROL Y APLICACIÓN DE 
ACCESO A MIEMBROS DE UNA CLASE 
 
Contenido 
Clases ................................................................................................................................................................... 1 
Control y aplicación de acceso a miembros ....................................................................................... 2 
Acceso público ............................................................................................................................................ 2 
Acceso privado ............................................................................................................................................ 2 
Acceso protegido ....................................................................................................................................... 2 
Ámbito de atributos y métodos ............................................................................................................... 3 
Atributos ........................................................................................................................................................ 3 
Métodos ......................................................................................................................................................... 4 
Declaración de métodos .................................................................................................................... 7 
Invocación de métodos ...................................................................................................................... 8 
Sobrecarga de métodos .................................................................................................................. 10 
Referencia de objetos y miembros ....................................................................................................... 10 
Instancia de variables finales .................................................................................................................. 11 
Paquetes .......................................................................................................................................................... 12 
Composición .................................................................................................................................................. 13 
Bibliografía ...................................................................................................................................................... 14 
 
 
 
1 
Contenidos: 
 
• Control y aplicación de acceso a miembros 
• Ámbito de atributos y métodos 
• Referencia de objetos y miembros 
• Instancia de variables finales 
• Paquetes de acceso 
• Composición 
 
Clases 
 
Para efecto de este curso utilizaremos la definición de clase que se plantea en el libro, 
Java2 Manual de programación, Aguilar & Fernández (2001), Las clases son 
estructuras o plantillas que sirven para definir un objeto, una clase de un objeto 
contiene una colección de métodos y definiciones de datos. 
 
Una clase describe la constitución de un objeto y sirve como plantilla para construir 
objetos, especificando la interfaz publica de un objeto. Una clase tiene un nombre y 
especifica los miembros que pertenecen a la clase, que pueden ser campos (datos) y 
métodos (procedimientos). 
 
Las clases se declaran con el siguiente formato: 
 
 
 
 
 
 
 
2 
Control y aplicación de acceso a miembros 
 
En el libro, Operación orientada a objetos con C++, Ceballos (2007), menciona: 
 
Los accesos a miembros son los que permiten controlar la visibilidad, acceso a los 
métodos y variables que están dentro de una clase. 
 
Java soporta cuatro niveles de acceso a métodos y variables. Estos son público(public), 
protegido(protected), sin modificador (también conocido como package) y privado 
(private). 
 
 
Acceso público 
Un miembro de una clase declarado public (público) puede ser accedido por un 
objeto de esa clase en cualquier parte de la aplicación donde el objeto en cuestión sea 
accesible. Los miembros públicos de una clase constituyen la interfaz pública de los 
objetos de esa clase. 
 
Acceso privado 
Un miembro de una clase declarado private (privado) puede ser accedido por un 
objeto de esa clase sólo desde los métodos de dicha clase. 
 
Acceso protegido 
Un miembro de una clase declarado protected (protegido) se comporta exactamente 
igual que uno privado para las funciones externas o para los métodos de cualquier 
otra clase, pero actúa como un miembro público para los métodos de sus subclases. 
 
 
 
3 
 
 
Visibilidad Public Protected Private 
Desde la misma 
clase 
Si Si Si 
Desde cualquier 
clase del mismo 
paquete 
Si Si No 
Desde una subclase 
del mismo paquete 
Si Si No 
Desde una subclase 
fuera del mismo 
paquete 
Si Si, a través de la 
herencia 
No 
Desde cualquier 
clase fuera del 
paquete 
si No No 
 
 
 
 
Ámbito de atributos y métodos 
Atributos 
En el libro, Fundamentos de programación en Java, Martínez (2011), define: Los 
atributos como los elementos que almacenan el estado de un objeto se definen de la 
misma forma que las variables, pero dentro del bloque de la clase. Otra definición de 
atributos son las propiedades que permiten identificar características propias de una 
clase (Cardona & Valbuena & Villegas, 2008). Para efecto de este curso definiremos 
como atributo al conjunto de características de elemento o de una clase. 
 
Ejemplo: 
 
 
4 
La clase Carro puede tener atributos como: marca, modelo y precio. 
 
En esta declaración, todos los atributos tienen acceso private y solo es posible acceder 
a ellos desde los métodos de la clase. 
 
Métodos 
En el libro, Fundamentos de programación en Java, Martínez (2011), menciona: 
 
Los métodos son funciones que determinan el comportamiento de los objetos. Un 
objeto se comporta de una u otra forma dependiendo de los métodos de la clase a la 
que pertenece. 
 
 
 
 
Existen tres tipos de método de consulta, métodos modificadores y operaciones. Los 
métodos de consulta sirven para extraer información de los objetos, los métodos 
modificadores sirven para modificar el valor de los atributos del objeto y las 
operaciones definen el comportamiento de un objeto. 
 
Los métodos get son métodos de consulta, mientras que los métodos set son 
métodos modificadores. 
 
Nota: Todos los objetos de una misma clase tienen los mismos métodos y el mismo 
comportamiento. 
 
 
5 
 
 
 
 
Ejemplo: 
En la clase vehículo es necesario definir un método get para cada uno de los atributos 
y los métodos set solo se definen para los atributos que pueden ser modificados 
después de que se ha creado el objeto. 
 
 
 
 
 
 
 
El método getAtributos ( ) es un caso particular de método get que devuelve los 
valores concatenados de los atributos del objeto. 
 
Nota: Un método get se declara public y a continuación se indica el tipo que devuelve. En el 
cuerpo del método se utiliza return para devolver el valor correspondiente al atributo del 
objeto, al que se hace referencia a través de this. 
Nota: Los métodos get se utilizan para extraer el valor de un atributo del objeto y los 
métodos set para modificarlo. 
 
 
6 
 
 
 
 
 
 
Un método de tipo operación es aquel que realiza un cálculo o modifica el estado de 
un objeto. En este tipo de métodos pueden incluir una lista de parámetros y puede 
devolver un valor o no. Si el método no devuelve un valor, se declara void. 
Nota: Un método set se declara public y devuelve void. La lista de parámetros incluye el 
tipo y el valor a modificar. El cuerpo de este método asigna al atributo del objeto el 
parámetro de la declaración. 
 
 
7 
 
Ejemplo: 
 
En este ejemplo, los métodos calcularPerimetro ( ) y calcularArea ( ) devuelven un valor 
double y ninguno de ellos recibe parámetros.Declaración de métodos 
 
La declaración indica si el método necesita o no argumentos. Los métodos get no 
tienen argumentos y devuelven un valor, los métodos set necesitan un argumento 
para indicar el valor del atributo que van a modificar. 
La lista de parámetros se declara con la siguiente sintaxis: 
Nota: La lista de parámetros puede declarar una o más variables separadas por una coma. 
Dentro de una clase los métodos se identifican unívocamente por su nombre y su lista de 
parámetros. 
 
 
8 
 
Invocación de métodos 
 
Un método se puede invocar dentro o fuera de la clase donde se ha declarado. Si el 
método se invoca dentro de la clase, basta con indicar su nombre. Si el método se 
invoca fuera de la clase entonces se debe indicar el nombre del objeto y el nombre del 
método. Si el método es estático entonces es necesario indicar el nombre de la clase y 
el nombre del método. 
 
Ejemplo: Método dentro de la clase 
 
 
 
9 
Ejemplo: Método fuera de la clase 
 
Ejemplo: Método estático 
 
 
 
 
 
10 
Sobrecarga de métodos 
 
La sobrecarga de métodos es útil para que el mismo método opere con parámetros de 
distinto tipo o que un mismo método reciba una lista de parámetros diferente. Esto 
quiere decir que puede haber dos métodos con el mismo nombre que realicen dos 
funciones distintas. La diferencia entre los métodos sobrecargados está en su 
declaración. 
 
En este ejemplo los dos métodos se diferencian por la declaración de sus parámetros y 
ambos métodos realizan operaciones distintas. 
 
Referencia de objetos y miembros 
 
Para poder conseguir una referencia al objeto actual se puede utilizar this, esta 
funciona de igual manera dentro de un constructor para llamar a otro constructor. 
 
 
11 
 
Ejemplo: 
 
 
Instancia de variables finales 
La palabra clave final indica que a esa variable solo se le puede asignar un valor u 
objeto una única vez. La sintaxis es la siguiente: 
Por ejemplo: 
 
 
 
 
 
 
 
Nota: Si tratamos de modificar el valor de una variable con el modificador final, el 
compilador indicará un error. Una vez definido el valor no se puede modificar. 
 
 
12 
Paquetes 
En el libro, Diseñar y programar, todo es empezar: Una introducción a la 
programación orientada a objetos usando UML y Java, Vélez, Peña, Gortázar & 
Sánchez (2011), definen los paquetes como agrupaciones lógicas de código y 
constituyen el mecanismo que proporciona Java como soporte a la modularidad. 
 
Los paquetes se organizan entre ellos en forma de árbol y esta organización repercute 
en su nombre. Por ejemplo, un paquete podría ser com.urjc.software y otro paquete 
contenido en éste podría ser com.urjc.software.utilidades. 
 
Por otro lado, la pertenencia de un fichero a un paquete se debe declarar en la 
primera línea de código del fichero mediante la palabra reservada package seguida del 
nombre del paquete al que pertenece. 
 
Es posible acceder a un elemento contenido en un paquete si se antepone el nombre 
completo del paquete al nombre del elemento (lo que se conoce como nombres 
completamente calificados). Así, para crear un objeto de la clase Coche contenida en 
el paquete Utilitarios del paquete Vehículos debemos escribir: 
 
También se puede utilizar la palabra reservada import al principio de un fichero para 
evitar usar nombres completamente calificados. 
 
Incluso es posible utilizar el asterisco para especificar que se desea importar todas las 
clases contenidas dentro de un determinado paquete. 
 
 
13 
 
También es posible utilizar la combinación import static para invocar los métodos 
estáticos de una clase sin necesidad de utilizar nombres completamente calificados. 
 
Composición 
 
En el libro, como programar en Java, Paul & Harvey Deitel (2012), se le conoce como 
composición cuando una clase puede tener referencias a objetos de otras clases como 
miembros. Otra definición de composición se considera si una clase posee una 
propiedad de otra clase y se instancia la clase de dicha propiedad en algún método de 
la clase, se dice que dicho objeto es parte del objeto contenedor (Bonaparte, 2012). 
Para efectos de este curso definiremos como composición a la relación de 
dependencia que existe entre dos objetos para poder llevar a cabo su función. 
Ejemplo: 
Representación de Áreas Rectangulares. 
 
¿Y si en un futuro necesitamos un círculo? 
 
Solución de Composición 
 
 
14 
Bibliografía 
Aguilar, L., & Azuela, M. (2001). Java 2, Manual de programación. Madrid: McGraw-
Hill. 
Bonaparte, U. (2012). Proyectos UML diagramas de clases y aplicaciones JAVA en 
NetBeans 6.9.1. Argentina: edUTecNe. 
Cardona, S., Sonia, J., & Villegas, M. (2008). Introducción a la programación en Java. 
Elizcom. 
Ceballos, F. J. (2007). Programación orientada a objetos con c++. Madrid: RA-MA. 
Deitel, P., & Harvey, D. (2013). Como programar en Java. México: Pearson. 
Martínez, J. (2011). Fundamentos de programación en Java. EME. 
Vélez, J., Alberto, P., Patzi, G., & Sánchez, Á. (2011). Diseñar y programar, todo es 
empezar: Una introducción a la programación orientada a objetos usando UML 
y Java. Madrid: DYKINSON. 
 
 
 
 
 
 
 
 
 
	Clases
	Control y aplicación de acceso a miembros
	Acceso público
	Acceso privado
	Acceso protegido
	Ámbito de atributos y métodos
	Atributos
	Métodos
	Declaración de métodos
	Invocación de métodos
	Sobrecarga de métodos
	Referencia de objetos y miembros
	Instancia de variables finales
	Paquetes
	Composición
	Bibliografía