CLASES Y OBJETOS
1. Clase
El elemento bsico de la programacin orientada a objetos en Java es la clase. Una clase es
una plantilla para un objeto. Por lo tanto define la estructura de un objeto y su interfaz
funcional, es decir, define los mtodos (comportamiento) y atributos (datos) de un grupo
de objetos de caractersticas similares. Ejemplo:
Para crear una clase se utiliza la palabra reservada class, seguida de un identificador legal
y un bloque delimitado por dos llaves para el cuerpo de la clase.
class NombreClase{
//...
//cuerpo de la clase
//...
}
Un archivo de Java debe tener el mismo nombre que la clase que contiene, y se les suele
asignar la extensin ".java". Por ejemplo la clase Empleado se guardara en un fichero que
se llamase Empleado.java
1.1. Atributos
Los atributos son las caractersticas individuales que diferencian un objeto de otro y
determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables
denominadas de instancia, y cada objeto particular puede tener valores distintos para estas
variables.
Las variables de instancia tambin denominados miembros dato, son declaradas en la clase
pero sus valores son fijados y cambiados en el objeto.
Adems de las variables de instancia hay variables de clase, las cuales se aplican a la clase
y a todas sus instancias. Por ejemplo, el nmero de ruedas de un automvil es el mismo
cuatro, para todos los automviles.
tipo nombre;
class Empleado{
String nombres, apellidos;
double sueldo;
int edad;
}
1.2. Mtodos
Los mtodos son subrutinas que definen la interfaz de una clase, sus capacidades y
comportamiento. Los mtodos permiten al programador modularizar sus programas. Todas
las variables declaradas en las definiciones de los mtodos son variables locales, solo se
conocen en el mtodo en el que se define. Los mtodos pueden tener una lista de
parmetros que permiten comunicar informacin entre mtodos. Los parmetros de un
mtodo tambin son variables locales.
Lenguaje de Programacin
Ing. Jorge Butler
Los mtodos se declaran al mismo nivel que las variables de instancia dentro de una
definicin de clase. Ejemplo:
class Empleado{
Atributos o Variables
String nombres, apellidos;
double sueldo;
int edad;
2. Objeto
Cada vez que se crea una clase se aade otro tipo de dato que se puede utilizar para
declarar una nueva variable. A estas variables se las conoce como referencias a objeto.
Por lo tanto, un objeto es una instancia o variable de una clase. La declaracin de una
referencia a objeto se realiza:
Clase objeto;
Ejemplo:
Empleado unIngeniero;
Esta es una declaracin de una variable unIngeniero que es una referencia a un objeto de
la clase Empleado, de momento con un valor por defecto de null.
Un objeto se distingue de otros miembros de la clase por sus atributos.
Mtodos
trabajar, ir, asistir
Atributos
Fernando, Carrin, 2500
3. Mtodo Constructor
Un constructor es un mtodo que inicia un objeto inmediatamente despus de su creacin,
evitndonos tener que iniciar las variables. Tiene el mismo nombre de la clase a la que
pertenece. Adems, puede tener varias implementaciones. Puede sobrecargarse. El
constructor no devuelve ningn tipo, ni siquiera void.
Si no se definen constructores para una clase, el compilador crea un constructor por
omisin que no recibe argumentos. El constructor por omisin de una clase invoca al
constructor de la clase y procede a inicializar las variables de tipo de datos numricos
primitivos: las variables numricas a 0, las boolean a false y las referencias (cadenas) a
null.
Lenguaje de Programacin
Ing. Jorge Butler
class Empleado{
Empleado(){
Constructor sin parmetros
}
Empleado(int x, int y){
Constructor con parmetros
}
}
4. El operador new
Permite crear un nuevo objeto invocando al mtodo constructor de la clase. Cuando se
realiza una instancia de una clase (mediante new) se reserva en la memoria un espacio
para un conjunto de datos como el que definen los atributos de la clase que se indica en la
instanciacin. A este conjunto de variables se le denomina variables de instancia.
Ejemplo:
Nombre_del_objeto.variable_de_instancia
Nombre_del_objeto.mtodo()
6. Referencia this
Java incluye un valor de referencia especial llamado this, que se utiliza dentro de cualquier
mtodo para referirse al objeto actual. El valor this se refiere al objeto sobre el que ha sido
llamado el mtodo actual. Se puede utilizar this siempre que se requiera una referencia a
un objeto del tipo de una clase actual. Si hay dos objetos que utilicen el mismo cdigo,
seleccionados a travs de otras instancias, cada uno tiene su propio valor nico de this.
7. Encapsulacin
Encapsulacin es el trmino de orientacin a objetos que describe la vinculacin de las
operaciones y estado a un objeto particular. La encapsulacin est ntimamente relacionada
con la ocultacin de la informacin, definiendo qu partes de un objeto son visibles y qu
partes estn ocultas.
La ventaja de la ocultacin de los detalles de implementacin es que el objeto puede
cambiar, y el interfaz pblico proporcionado ser compatible con el original. Entonces los
programas que utilizaban el objeto pueden seguir funcionando sin alteracin alguna. Esto
es extremadamente til al modificar cdigo (ya que se restringe la propagacin de
cambios). Tambin se fomenta la reusabilidad, ya que el cdigo puede ser utilizado como
una tecnologa de caja negra (igual que los circuitos integrados en la industria electrnica).
8. Modificadores de Acceso
Los modificacdores de acceso definen niveles de visibilidad entre miembros (variables y
mtodos) de una clase y otros objetos. Java utiliza los siguientes modificadores:
Lenguaje de Programacin
Ing. Jorge Butler
Si no se especifica un modificador, las variables y mtodos de una clase solo podrn ser
accedidas por clases del mismo paquete.
El modificador de acceso se especifica inmediatamente antes que el tipo de una variable
de instancia o antes del tipo de retorno de un mtodo.
Ejemplos:
private int a;
public void abrir(){
8.2.1. Mtodos
final: Especifica que un mtodo tiene una implementacin constante, esto es,
que no puede ser sobreescrito por subclase alguna.
static: Especifica que un mtodo es independiente de cualquier instancia, por lo
que tambin solo puede acceder a variables de instancia estticas y podr
invocar directamente solo mtodos estticos de su clase.
abstract: Son aquellos mtodos declarados pero no implementados, pues la
implementacin se encuentra en las subclases.
synchonized: especifica que solo se permitir un camino de ejecucin en un
mtodo.
native: especifica que la implementacin de un mtodo es externa: nativa en C.
El mtodo no tendr cuerpo, ni siquiera llaves.
8.2.2. Variables
memoria para sus variables de instancia cuando es creado; por cada nuevo
objeto, nuevos espacios de memoria son reservados. Las variables estticas
reservan un solo espacio independientemente de cuantas instancias de la clase
se hayan creado.
transient: Especifica al compilador que una variable no debe ser serializada.
volatile: Especifica que el compilador generar, cargar y almacenar la
variable cada vez que sea accedida, en vez de tomar el valor de un registro.
Ejemplo
Calcular el total que paga un cliente por un consumo en un restaurante, dicho restaurante
realiza descuentos del 20% para consumos mayores a S/.50.00 y 10% para consumos
menores e iguales a S/.50.00.
}
//mtodos accesores
public void setNombre(String nombre){
this.nombre = nombre ;
}
public String getNombre(){
return nombre ;
}
public void setApellidos(String apellidos){
this.apellidos = apellidos;
}
public String getApellidos (){
return apellidos;
}
public void setConsumo(double consumo){
this.consumo = consumo;
}
public double getConsumo (){
return consumo;
}
public void setDesc(double desc){
this. desc = desc;
}
public double getDesc (){
return desc;
}
Lenguaje de Programacin
Ing. Jorge Butler