You are on page 1of 1

AMBITO DE LAS

VARIABLES

UT 2: USO DE OBJETOS, APLICACIONES


BASADAS EN OBJETOS

El ambito de una variable es el bloque de codigo en el que


la variable existe y por tanto puede ser utilizada. Este bloque
coincide con el de declaracion de la variable.

PROGRAMACIN
ORIENTADA A OBJETOS
CARACTERISTICAS:
*ABSTRACCION: Considerar de los
objetos (atributos+metodos) solo lo
esencial para resolver el problema
*ENCAPSULAMIENTO: Reunir todos
los elementos esenciales de un objeto
en un mismo nivel de abstraccion.
*OCULTACION: Cada objeto esta aislado
del mundo exterior y solo muestra una
parte, la necesaria para utilizarlo,
conocida como interface.
*HERENCIA: Jararquia formada por la
relacion de las clases, de manera que los
niveles inferiores heredan los atributos y
metodos de las de sus niveles superiores.
*POLIMORFISMO: Posibilidad de
referirnos a comportamientos diferentes
con el mismo nombre.
* RECOLECCION DE BASURA: Tecnica
que libera la memoria ocupada por objetos
que ya no se utilizan

ACCESO A LOS
COMPONENTES DE
UNA CLASE

Generalizacion o
abstraccion de un tipo
especifico de objetos
Un conjunto de objetos con
la misma estructura y
comportamiento forma una
clase de objetos.
La estructura y el
comportamiento pueden
definirse en comn en el
ambito de la clase.

Al realizar el encapsulamiento incluiremos los


modificadores de acceso que determinaran que partes
de nuestros objetos deberan estar ocultas, y que partes
deberan ser accesibles desde otros objetos (interface).
La estructura (atributos) siempre debera permanecer
oculta y solo se podra acceder a ella por medio de los
metodos SET y GET, para obtener y modificar sus valores
MODIFICADOR DE ACCESO
ACCESIBILIDAD
SIMBOLO UML

ATRIBUTOS

CLASE:

public
+

protected
#

private
-

Desde la propia clase

SI

SI

SI

SI

Otra clase mismo paquete

SI

SI

NO

SI

Sublcase mismo paquete

SI

SI

NO

SI

Sublcase otro paquete

SI

SUBCLAS SI
SUPCLAS NO

NO

NO

Clase otro paquete

SI

NO

NO

NO

USO DE ATRIBUTOS E
INVOCACION DE
METODOS
La comunicacin entre los objetos de las clases se realiza
mediante mensajes, en los que siempre estara involucrado
un elemento de la interfaz de la otra clase, es decir un
metodo publico, ya que no conoce la existencia de los
elementos privados
Si el metodo devuelve un valor, y lo necesitamos, debemos
crear una variable del tipo de retorno del metodo para
guardar dicho valor
La relacion que existe entre dos clases cuando una usa
instancias de la otra es una relacion de dependencia o
instanciacion.
Formas de invocar un metodo:

Metodo estatico

Variables locales

Son los atributos de la clase,


pueden ser utilizadas por
todos sus metodos, su
ambito es todo el cuerpo de
la clase.

Se declaran al principio
de un metodo y solo se
pueden utilizar en el
bloque del metodo.
Si en el metodo hay
otros bloques de codigo
que definen variables,
estas solo existiran en
el bloque donde se
hayan declarado.

MTODOS
Tambin llamados funciones, son bloques de codigo y
cada uno de ellos determina una funcin que pueden
realizar los objetos de una clase, son declarados y
definidos en sus clases

TIPOS:

ESTRUCTURA:

Fuera de la clase

Los atributos son elementos que definen la


estructura de un objeto y sus valores en
un momento determinado son el estado del objeto
en ese mometno.
Se definen como las variables pero en el ambito del
bloque de la clase, de manera que todos los
mtodos que definen el comportamiento de los
objetos de la clase pueden acceder a los atributos

Variables de clase

CABECERA:
Formada por:

Accesibilidad del mtodo

Tipo del valor de retorno

Nombre del metodo

Parmetros: valores que


necesita para su
ejecucion

Tipo de excepcin
CUERPO:
Conjunto de instrucciones
que se deben ejecutar para
que el objeto realice el trabajo
encomendado

* Operaciones:
Realizan operaciones
* SET:
Realizan consultas,
sirven para obtener
informacion de los
objetos
* GET:
Realizan
modificaciones,
se utilizan para
cambiar los valores
de los atributos de
los objetos.

METODO SET:
Metodos mutadores,
generalmente cambian
un valor.
En su implementacion se
establecen los mecanismos
necesarios para establecer
que el valor que va a recibir
el atributo es correcto

MIEMBROS DE CLASE
ESTATICOS
Los miembros estticos indican la existencia de una sola
copia que se mantiene en el mbito de la clase y es
compartida por todos los objetos de la misma.
Se emplea para ahorra memoria, ya que al crear un objeto se
guarda una copia de las variables de instancia de clase con
sus propios valores.
Seran miembros estaticos aquellos atributos que tienen el
mismo valor en todos los objetos de la clase.
Al no depender del objeto se deben inicializar antes de usar
el constructor por defecto los inicializara en null.
Los mtodos static no estn asociados a un objeto en
concreto por eso se les llama mtodos de clase y solo pueden
acceder a atributos de la clase que se hayan declarado como
static, aunque pueden crear nuevos objetos y recibirlos
como argumento.
Para acceder a un atributo estatico es necesario un metodo
estatico, al ser el atributo estatico comun a toda la clase, al
enviar el mensaje al metodo estatico, se lo enviamos a la
clase, no a un objeto particular.

METODO GET:
Metodos de consulta o acceso,
devuleven un valor del tipo
especificado al declarar el
metodo, debe contener un
return, que devolvera el valor
ndicado al objeto que lo
invoque.

REFERENCIA NULL
Podemos tener una referencia a un objeto pero sin que
tenga asignada ninguna instancia, por tanto su valor
sera null.
Esta situacion se puede dar en dos casos:

OBJETO:

SOBRECARGA DE
METODOS
Un metodo sobrecargado es aquel que tiene varios metodos
declarados con el mismo nombre, esto es posible si su firma
es distinta, entedemos por firma al conjunto de su nombre y
los tipos de parametros que recibe, en el orden en que los
recibe.
MetodoSobrecargado();
MetodoSobrecargado(int a, String b);
MetodoSobrecargado(String b, int a);
Una clase no puede tener dos
metodos con la misma firma

CONSTRUCTORES
Para poder trabajar con un objeto debemos instanciarlo
(crearlo) y guardarlo en memoria en una variable
referenciada.
Igual que con otras variables para usarlas tenemos que
declararlas con su tipo de dato y su nombre.
En caso de que una clase no tenga un constructor, se
sobrenetiende el constructor por defecto, con todos
sus atributos inicializados a sus valores por defecto.
En caso de tener algun constructor, sera necesario
especificar si existe el constructor por defecto.
Para crear un objeto se utiliza el operador new, que llama
de forma automatica al constructor de la clase.
Los constructores son metodos que no devuleven ningun
valor, pero no es necesario especificar el void.

Encapsulacion abstracta
de informacin junto con
los metodos para manipularla.
Es una entidad identificable
compuesta de:
* Estructura:
Conjunto de atributos
(variable destinada a
recibir un valor)
* Comportamiento:
Conjunto de mtodos
(conjunto de instrucciones
que realizan determinadas
operaciones y pueden
devolver o no un valor)

Dentro de la clase

objeto.metodo(args) Clase.metodo(args) metodo(args)

ARGUMENTOS

PARAMETROS
Se definen en el mtodo, son
los contenedores que recibiran
los argumentos de la llamada

Valores necesarios para que


funcione el metodo, si son
varios, separados por ,

VALOR DE RETORNO
Para que un metodo pueda devolver un valor necesita
declarar en su cabecera que tipo de valor va a
devolver y ejecutar en el cuerpo del metodo un return,
que devuelve el valor, que debe coincidir con el tipo declarado.
El tipo de valor puede ser cualquiera, primitivo o referenciado.

PASO POR VALOR


Cuando los parametros son
datos primtivos:
Cualquier cambio en los valores
de los parmetros solamente
existe dentro
del mbito del mtodo.
Cuando el mtodo vuelve, los
parmetros han desaparecido y
cualquier cambio se ha perdido.

PASO POR REFERENCIAS


A OBJETOS
Cuando los parametros son
datos referenciados:
Lo que pasamos como
parmetro es la referencia a un
objeto, se obtiene un nuevo
alias del objeto, por tanto
tenemos acceso al objeto y se
puede modificar

Por defecto:

Por asignacion explicita:

Declaramos un objeto pero


no lo inicializamos, es decir,
no lo instanciamos. Por lo
tanto no existe, solo hemos
reservado un espacio de
memoria con el identificador
del objeto.
El compilador no obtiene el
fichero .class y nos avisa de
que no podemos utilizar ese
objeto.

El programador asigna el valor


null al objeto, esto quiere decir
que anulamos dicho objeto y
por tanto ya no existe.
Puede dar fallo si se vuelve a
intentar utilizar el objeto, pero
en caso de que no, liberara
memoria.

REFERENCIAS
COMPARTIDAS ALIAS
Los objetos al ser variables referenciadas, su valor es
la direccion de memoria en la que residen los valores de
sus atributos.
Un objeto puede tener asignadas varias referencias, en
cuyo caso diremos que tiene alias.
Todos los alias de un objeto modifican las mismas
direcciones de memoria, por lo que al modificar el objeto o
cualquiera de sus alias, se modificaran las mismas
posiciones de memoria, y por tanto el objeto.
Al utilizar el operador asignacion = con dos objetos
referenciados, copia el valor de la derecha en la referencia
de la izquierda.
Si aplicamos el operador igualdad == a dos referencias,
obtendremos true si ambas se refieren al mismo objeto y
false en caso contrario, aunque ambos objetos tengan el
mismo estado.

You might also like