Вы находитесь на странице: 1из 5

FACULTAD DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

ASIGNATURA
Técnicas de Programación

actividad
PRACTICA DE LA SESION 5

CICLO II

DOCENTE TUTOR
Ing. Martín Salcedo Quiñones

Nombre:
Eli Sayes Castañeda Lopez

1
modificadores de acceso a los miembros de una clase

en el año 2011, los autores Vélez Serrano J, Peña Abril A, Gortazar Bellas P.
indican que. (1) Los modificadores detalle de control de acceso a los miembros
en Estos modificadores son herramientas que proporciona Java para facilitar la
encapsulación. Se utilizan al definir cada miembro y especifican la visibilidad
de ese miembro desde otras clases. Los modificadores de control de acceso
son:

 public .- Si la clase A tiene un miembro declarado como public ese


miembro es accesible desde cualquier clase que vea la interfaz de A
 private .- Si la clase A tiene un miembro declarado como private ese
miembro sólo es accesible desde los métodos de la clase A
 . protected .- Si la clase A tiene un miembro declarado como
protected ese miembro es accesible desde los métodos de la clase A ,
por las clases que hereden de A , y por las clases definidas en el mismo
paquete.

Si no se especifica ningún modificador de control de acceso el miembro


declarado es de tipo friendly . Estos miembros son visibles desde cualquier
clase que pertenezca al mismo paquete, siendo inaccesibles desde fuera del
paquete.

Los modificadores de uso de los miembros en detalle Estos modificadores se


utilizan en la definición de los miembros y permiten especificar características
de la implementación de un miembro.

 abstract .- Este modificador sólo es aplicable a métodos. Cuando un


método se declara abstract en una clase A ese método no tiene
implementación en A . Además la clase A pasa a ser abstracta. Una
clase abstracta es una clase que tiene uno o más métodos abstractos.
Cuando una clase tiene todos sus métodos abstractos se dice que es
una clase abstracta pura. No se pueden crear objetos de clases
abstractas, ya que tienen métodos no definidos. Más adelante se
profundizará en la utilidad de las clases abstractas. En UML los métodos
abstractos y las clases que los contienen se distinguen porque el texto
correspondiente está en cursiva.
 static .- Un miembro definido como static no pertenece a ninguna de
las instancias que se puedan crear de una clase sino a la clase misma.
Se dice que los miembros declarados con static son miembros de clase,
mientras que el resto son miembros de instancia. Así, una propiedad
static de la clase A es una propiedad cuyo valor es compartido por todos
los objetos de la clase A . Por otro lado, para llamar a un método static
de la clase A no hace falta ningún objeto de la clase A . En general no
se recomienda el uso de miembros static pues son ajenos a la
Programación Orientada a Objetos. Todo programa en Java comienza su
ejecución en un método static denominado main . Este método debe
encontrase en una clase que tenga el mismo nombre que el fichero que
la contiene. Es necesario que dicho método sea estático porque no se

2
crea ningún objeto al ejecutar un programa y sin embargo la máquina
virtual de Java lo invoca. En UML, las miembros estáticos se distinguen
porque el texto correspondiente está subrayado.

final .- Un miembro se declara como final cuando se desea impedir que su


valor pueda ser cambiado. En general se recomienda usar este modificador
para todas las propiedades y métodos de las clases que se definan. Las
propiedades definidas como final son constantes a lo largo de la vida de un
objeto. Su valor puede definirse en tiempo de compilación, en tiempo de
ejecución (en los llamados bloques de inicialización), e incluso pueden
definirse de forma tardía en el constructor. Las referencias a objetos
declaradas como final no pueden cambiarse, aunque los objetos en sí mismos
sí pueden cambiar su estado. Además, pueden utilizarse combinadas con static
para definir constantes inmutables para todos los objetos.

Por otro lado, los métodos definidos como final no pueden cambiar su
implementación en clases derivadas. La declaración de un método como final
tiene dos objetivos: fijar el diseño y aumentar la eficiencia. Las clases finales
permiten ligadura estática de las funciones lo que redunda en mayor
velocidad. También permiten fijar razones de diseño al impedir cambios.

native .- Permite utilizar funciones externas a Java. Así, los miembros


declarados native se implementan en otro lenguaje nativo de la máquina en la
que se invoca y se asocian a Java utilizando bibliotecas de enlace dinámico
mediante la Java Native Interface (JNI).

transient .- El valor de una propiedad definida como transient no se desea


que se preserve si el objeto tiene la capacidad de persistencia.

synchronized .- Este modificador es aplicable a métodos o ámbitos. Provoca


que el código así etiquetado sólo pueda estar siendo ejecutado por un hilo en
cada momento para cada objeto.

volatile .- Una propiedad así definida indica al compilador que su uso no


debe ser optimizado. Esto se hace para evitar problemas cuando la variable
pueda ser utilizada desde varios threads de manera simultánea. strictfp .-
Modificador aplicable a métodos que fuerza a Java a utilizar una aritmética
flotante independiente del procesador para asegurar compatibilidad
multiplatafoModificadores en la definición de clases g enerales Las clases
pueden definirse de diferentes tipos:

public .- Se utiliza el modificador public para indicar que la clase es visible


desde otros paquetes diferentes al paquete en el que se implementa. Por el
contrario una clase no definida con public sólo es visible en el paquete en el
que se implementa. Sólo puede usarse el modificador public por fichero y el
nombre de la clase sobre la que se use debe coincidir con el nombre del
fichero.

3
abstract .- Una clase abstracta es aquella que tiene al menos un método
abstracto y de la que, por tanto, no pueden crearse instancias. Las clases
abstractas deben utilizar el modificador abstract para indicar su carácter.

final.Son aquellas de las que no se puede heredar para crear una nueva clase
por estar marcadas con el modificador final . En general se recomienda utilizar
el modificador final para todas las clases.

Clases internas Una clase interna es una clase que se declara dentro de otra.
Para ser más precisos, su declaración se puede realizar dentro del ámbito de
la clase o incluso dentro de un método. Su principal utilidad consiste en
encapsular la definición de la clase para restringir su uso o su visibilidad. En
general las clases internas tienen varias particularidades:

 No se permite declarar miembros estáticos en ellas.


 Para crear un objeto de una clase interna es necesario que se haga
desde una instancia de la clase contenedora.
 Desde una clase interna es posible acceder a las propiedades de la clase
contenedora como si fuesen propias.
 Para declarar una referencia del tipo de una clase interna fuera de la
clase contenedora debe usarse la sintaxis Clase
Contendora.ClaseInterna .

En la definición de clases internas es posible añadir los modificadores public ,


private o protected . Si no se añade ningún modificador la clase será visible en
el paquete, si se añade public será visible en general, si se añade private sólo
será visible dentro de la clase en la que está definida y si se añade protected
sólo será visible dentro de la clase en la que está definida y en las clases que
de ella deriven. También es posible declarar una clase interna con el
modificador static . Las clases internas así definidas se diferencian del resto de
clases internas en 3 particularidades:

 En estas clases internas se pueden definir miembros estáticos.


 Desaparece la posibilidad de acceder a las propiedades de la clase
contenedora.
 También desaparece la restricción que impide crear objetos de la clase
interna sin un objeto de la clase contenedora.

Por último, no se puede cerrar este apartado sobre clases internas sin hablar
de las clases anónimas. Son clases que no tienen identificador. Se utilizan
cuando se hereda de otra clase, no se desea añadir nada a su interfaz y solo
se quiere crear un único objeto.(pag.43-46)

4
REFERENCIAS

1. Vélez Serrano J, Peña Abril A, Gortazar Bellas P. Diseñar y programar, todo


es empezar: una introducción a la Programación Orientada a Objetos
usando UML y Java. Madrid: Dykinson; 2011.Disponible en:
https://ebookcentral.proquest.com/lib/bibliocauladechsp/reader.action?ppg
=61&docID=3198514&tm=1539901401390
2.

Вам также может понравиться