Documente Academic
Documente Profesional
Documente Cultură
de Zitcuaro
Tecnolgico
Materia:
Carrera: I.S.C.
Alumno (a):
Delgado Rangel Sergio Jonathan.
Docente:
Lic. Jos Alfredo Jimnez Meza
Tipos de atributos.
Objetivos:
a)
Modificador
Visibilidad
public
Pblica (+)
protectec
Protegida / en la herencia(#)
private
Privada(-)
package
De paquete (~)
Mtodos.
Java como todo lenguaje de programacin orientado a objetos utiliza los
llamados mtodos. A continuacin veremos cmo se crea un mtodo y como se
utilizan.
Encapsulamiento.
Los mtodos rodean y esconden el ncleo del objeto de otros objetos en el
programa. Al empaquetamiento de las variables de un objeto con la proteccin
de sus mtodos se le llama encapsulamiento. Tpicamente, el encapsulamiento
es utilizado para esconder detalles de la puesta en prctica no importantes de
otros objetos. Entonces, los detalles de la puesta en prctica pueden cambiar
en cualquier tiempo sin afectar otras partes del programa.
El encapsulamiento de variables y mtodos en un componente de software
ordenado es, todava, una simple idea poderosa que provee dos principales
beneficios a los desarrolladores de software.
This
Al acceder a variables de instancia de una clase, la palabra clave this hace
referencia a los miembros de la propia clase en el objeto actual; es decir, this
se refiere al objeto actual sobre el que est actuando un mtodo determinado y
se utiliza siempre que se quiera hace referencia al objeto actual de la clase.
2.3 REFERENCIAS A OBJETOS
Las referencias en Java no son punteros ni referencias como en C++. Este
hecho crea un poco de confusin entre los programadores que llegan por
primera vez a Java. Las referencias en Java son identificadores de instancias de
las clases Java. Una referencia dirige la atencin a un objeto de un tipo
especfico. No tenemos por qu saber cmo lo hace ni necesitamos saber qu
hace ni, por supuesto, su implementacin.
Pensemos en una referencia como si se tratase de la llave electrnica de la
habitacin de un hotel. Vamos a utilizar precisamente este ejemplo del Hotel
para demostrar el uso y la utilizacin que podemos hacer de las referencias en
Java. Primero crearemos la clase Habitacion, implementada en el
fichero Habitacion.java, mediante instancias de la cual construiremos nuestro
Hotel:
public class Habitacion {
private int numHabitacion;
public Habitacion() {
habitacion( 0 );
}
}
El cdigo anterior sera el corazn de la aplicacin. Vamos pues a construir
nuestro Hotel creando Habitaciones y asignndole a cada una de ellas su llave
electrnica; tal como muestra el cdigo siguiente,Hotel1.java:
public class Hotel1 {
public static void main( String args[] ) {
Habitacion llaveHab1;
// paso 1
Habitacion llaveHab2;
// pasos 2, 3, 4 y 5
//
ByD
}
}
Para explicar el proceso, dividimos las acciones en los cinco pasos necesarios
para poder entrar en nuestra habitacin. Aunque no se incluye, podemos
tambin considerar el caso de que necesitemos un cerrajero, para que cuando
perdamos la llave, nos abra la puerta; y que en nuestro caso sera el garbage
collector, que recicla la habitacin una vez que se hayan perdido todas las
llaves.
El primer paso es la creacin de la llave, es decir, definir la variable referencia,
por defecto nula.
El resto de los pasos se agrupan en una sola sentencia Java. La parte B en el
cdigo anterior indica al gerente del Hotel que ya dispone de una nueva
habitacin. La parte C llama al decorador de interiores para que "vista" la
habitacin segn un patrn determinado, para que no desentonen unas
habitaciones con otras y no se pierdan las seas de identidad del hotel. El
cdigo electrnico que nos permitir acceder a la habitacin se genera en la
parte D, una vez conocido el interior de la habitacin y se programa en la llave
en la parte A.
Si dejamos el ejemplo real a un lado y nos vamos a lo que ocurre en la
ejecucin del cdigo, vemos que el operador new busca espacio para una
instancia de un objeto de una clase determinada e inicializa la memoria a los
valores adecuados. Luego invoca al mtodo constructor de la clase,
proporcionndole los argumentos adecuados. El operador new devuelve una
referencia a s mismo, que es inmediatamente asignada a la variable
referencia.
paso
de
El mtodo main
Toda aplicacin Java ha de tener un mtodo main y slo uno, es el punto de
entrada y salida de la aplicacin, es public, static y no devuelve nada.
Generalmente en una clase se definir ms de un mtodo. Cuando tras
compilar la clase se ejecuta, Java busca el mtodo llamado main y comienza
class
Persona
prvate
public
int
//Atributos
altura;
//Constructores
Persona{
}
public
Persona(int
unaAltura){
this.altura = unaAltura; //
setAltura(unaAltura);
}
}
El destructor:
El destructor se utiliza para destruir una instancia de una clase y liberar
memoria. En Java no hay destructores, ya que la liberacin de memoria es
llevada a cabo por el Garbage Collector cuando las instancias de los objetos
quedan des-referenciadas.
El mtodo dispose() de cada objeto se llama previo a ser recolectado.
Operadores Unarios
En esta seccin se ver cmo sobrecargar los operadores unarios, es decir
aquellos que toman un solo operando, como por ejemplo a++. El prototipo de
los mtodos que van a sobrecargar operadores unarios ser:
public static Operando operator++(Operando a)
Como antes sustituyendo el ++ por cualquier operador unario. El ejemplo
dentro de nuestra clase de nmeros complejos sera:
Operadores binarios
Para empezar vamos a sobrecargar el operador suma('+') para que al sumar
dos objetos de la clase ComplexNum, es decir dos nmeros complejos
obtengamos un nmero complejo que ser la suma de ambas partes. Cabe
destacar que los prototipos para sobrecargar operadores sern:
public static Operando operator+(Operando a, Operando b)
Este es el prototipo para el operador +, el resto de operadores binarios van a
seguir el mismo patrn. Por tanto el cdigo del mtodo de sobrecarga ser el
siguiente:
public static ComplexNum operator+(ComplexNum a, ComplexNum b)
{
return new ComplexNum(a.Real + b.Real, a.Img + b.Img);
}
Este mtodo sobrecarga el operador suma para que podamos sumar dos
nmeros complejos. Un dato a tener en cuenta es que los mtodos que
sobrecargan operadores deben ser static. Como se ve en el cdigo los
operandos son 'a' y 'b', que se reciben como parmetro y el resultado de la
operacin es otro nmero complejo que es el que retorna el mtodo. Por tanto
se limita a crear un nuevo nmero complejo con ambas partes operadas. De la
misma forma podemos crear la sobrecarga del operador resta ('-') para que
lleve a cabo la misma funcin:
public static ComplexNum operator-(ComplexNum a, ComplexNum b)
{
return new ComplexNum(a.Real - b.Real, a.Img - b.Img);
}
Como vemos el mtodo es idntico solo que sustituyendo los + por -. En este
caso el trabajo que hacemos dentro del mtodo es trivial pero podra ser tan
complejo como se quisiera.