Una estrategia de seguridad en la nube alineada al NIST
8- Unidad 2: Elementos de una Clase
1. Unidad 2: Elementos de una
Clase
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas
Programación Orientada a Objetos
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
2. “El noble, el guerrero, el aventurero
viven en el mundo de los hechos. El
sacerdote, el sabio, el filósofo viven
en el mundo de las verdades” –
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Programación Orientada a Objetos
3. Resultado de Aprendizaje
• Solucionar problemas aplicando el razonamiento lógico, con
algoritmos y procedimientos adecuados.
7. Convenciones
• Nombres de clases
o Primera letra mayúscula y cada palabra subsiguiente
comienza con mayúscula, sin espacios
o Sustantivos cosas
o ClaseDeVariasPalabras
• Nombres de métodos y variables
o Primera letra minúscula y cada palabra subsiguiente
comienza con mayúscula, sin espacios
o Verbos acciones
o variableDeVariasPalabras
8. Cuerpo
• Constructores
• Métodos
• Variables
• finalize()
Las variables y métodos de una clase son llamados miembros
de la clase.
Los constructores no son métodos, no son miembros
9. Constructores
• Mismo nombre de la clase
• Puede haber más de uno (sobrecarga)
• Inicialización del objeto
• Opcional. El compilador crea uno en caso
de que no se especifique en forma
explícita
• Pueden tener variables locales, ciclos y
otros estatutos
10. Uso de this dentro de constructores
• Indica “este” objeto
• Sirve para diferenciar variables de la clase
de los parámetros con el mismo nombre
• Está implícito en todos los miembros de la
clase
• También se puede usar en métodos
public Rectangulo(int x, int y){
this.x = x;
this.y = y;
ancho = 100;
alto = 100;
}
11. Especificadores de acceso para
constructores
• private
o Ninguna otra clase puede crear un objeto de esta clase.
• protected
o Sólo subclases de esta clase pueden crear objetos de esta clase
• public
o Todas las clases pueden crear objetos de esta clase
• package
o Sólo clases del mismo paquete (package) puede crear instancias de esta
clase
12. Declaración de variables
• Nivel de acceso
o public, protected, package, private
o Discutidos en control de acceso a miembros de una
clase . . . . .
• Atributos
o static, final, transient, volatile
[nivel de acceso] [atributos] tipo nobre;
13. Especificadores de acceso para
variables
• private
o Solo pueden ser utilizadas dentro de la clase donde son definidas
• protected
o Sólo la clase donde son definidas, subclases de ésta y clases del mismo
paquete pueden acceder a estas variables
• public
o Todas las clases pueden acceder a estas variables
• package
o Sólo clases del mismo paquete pueden acceder estas variables, no
subclases, es especificador por omisión
14. Atributos de una variable
• static
o variable de clase (no de ejemplar)
• final
o Valor de la variable no puede cambiar (constante)
• transient
o Variable no debe ser serializada
• volatile
o El compilador no efectua ciertas optimizaciones
16. Especificadores de acceso para
métodos
● private
– Solo pueden ser llamados dentro de la clase donde son definidos
● protected
– Sólo la clase donde son definidos, subclases de ésta y clases del mismo
paquete pueden acceder a estos métodos
● public
– Todas las clases pueden acceder a estos métodos
● package
– Sólo clases del mismo paquete pueden acceder estos métodos, no
sublclases, es especificador por omisión
17. Atributos de métodos
• static
o método de clase y no de ejemplar
• abstract
o No tiene implementación. Debe de pertencer a una clase abstract
• final
o No puede ser reprogramado (overriden)
• native
o escrito en otro lenguaje, código específico para una plataforma
• synchronized
o para ser usado por threads y no causar problemas típicos de
multiproceso
18. Sobrecarga de métodos
• Varios métodos pueden compartir el
mismo nombre, deben de diferir en el
número y/o tipo de parámetros
public int suma (int a, int b){}
public double suma (double a, double b){}
public void suma (){}
19. Redefinición de métodos
• Una clase puede reemplazar (override) un método de su
superclase
• El método debe ser exactamente igual (tipo de regreso,
nombre y parámetros), sólo cambia la programación
• Casi todas las clases reprograman toString()
• Para agregar código a un método se puede llamar
super.nombre(...)
• Los métodos final y static no se pueden reprogramar
• Los métodos abstract de una superclase se deben de
reprogramar
20. Parámetros de un método
• Se usan para pasar información a un método
• Se debe declarar el tipo y nombre de cada uno, separados
por coma
• Pueden ser de cualquier tipo válido en Java (primitivos,
objetos, arreglos)
• No se pueden pasar métodos como parámetros, pero se
puede pasar un objeto y llamar a uno de sus métodos
• Si tienen el mismo nombre que una variable de la clase, el
parámetro “esconde” a la variable dentro del cuerpo del
método, para accesar a la variable es necesario usar this
• No pueden tener el mismo nombre que otro parámetro,
variable local o parámetro de un catch
21. Paso por valor
• Los parámetros en Java se pasan por
valor
• Tipos primitivos
o El valor no cambia
• Tipos por referencia
o La referencia no cambia, pero se pueden invocar
sus métodos y modificar sus variables
22. Ejemplo
public cambiaValor (int x, Button b){
x = 5;
b.setLabel(“Otro letrero”);
}
int edad = 25;
Button boton = new Button (“Letrero original”);
cambiaValor (edad, boton);
edad = 25 edad = 25
cambiaValor(edad,boton)
23. Métodos
• this
o se refiere al objeto en ejecución, el ejemplar al cual
pertenece el método
• super
o Para acceder a variables y métodos de la
superclase
• variables locales
o Declaradas en el cuerpo del método, están “vivas”
durante la ejecución del método
24. Miembros de una clase
• Miembros de clase
o Se definen static
o Existe sólo una copia en memoria, compartida por
todas los ejemplares de la clase
o No pueden acceder a variables de ejemplar
• Miembros de ejemplar
o Se utilizan a través de un objeto (objeto.variable u
objeto.método(...))
o Existe una copia separada por cada objeto
o Pueden acceder a variables de clase
25. Gracias
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
private
Ninguna otra clase puede crear una instancia de esta clase. Pero la clase puede tener métodos public que creen una instacia y la regresen como una referencia
protected
Sólo subclases de esta clase pueden crear instancias. Clases independientes no pueden crear instancias esto se hace como protección y modularidad
public
Todas las clases pueden crear instancias de esta clase. Cualquier clase del programador o de otros paquetes pueden instanciar y utilizar objetos de esta clase
package
Sólo clases del mismo paquete puede crear instancias de esta clase. En caso de utilizar un paquete se utiliza package para evitar que alguna otra clase cree un objeto, pero clases del mismo paquete puede crear objetos de esta clase para dar modularidad y seguridad