Академический Документы
Профессиональный Документы
Культура Документы
Objetos
Un programa orientado a objetos se compone solamente de objetos. Un
objeto es una entidad que tiene unas propiedades particulares (atributos) y unas
formas de operar sobre ellas, los mtodos.
Mtodos
Un mtodo se implementa en una clase de objetos, y determina cmo tiene
que actuar el objeto cuando recibe el mensaje vinculado con ese mtodo. A su
vez, un mtodo puede tambin enviar mensajes a otros objetos solicitando una
accin o informacin.
En adicin, las propiedades (atributos) definidas en la clase permitirn
almacenar informacin para dicho objeto.
Cuando se disea una clase de objetos, la estructura ms interna del objeto se
oculta a los usuarios que lo vayan a utilizar, manteniendo como nica conexin con
el exterior, los mensajes. Esto es, los datos que estn dentro de un objeto solamente
podrn ser manipulados por los mtodos asociados al propio objeto.
Clases
Una clase es un tipo de objetos definido por el usuario. Una clase es la
generalizacin de un tipo especfico de objetos.
Un objeto de una determinada clase se crea en el momento en que se define
una variable de dicha clase. Por ejemplo, la siguiente lnea declara el objeto
cliente01 de la clase o tipo Cuenta.
Cuenta clienteO1 = new Cuenta(); // nueva cuenta
Cuando escribe un programa utilizando un lenguaje orientado a objetos, no se
definen objetos, se definen clases de objetos, donde una clase se ve como una
plantilla para mltiples objetos con caractersticas similares
Los atributos tambin pueden incluir informacin sobre el estado del objeto;
por ejemplo, en el caso de un ordenador, si est encendido o apagado, si la pre sentacin en pantalla est activa o inactiva, etc.
class PC
{
String Marca;
String Procesador;
String Pantalla;
boolean PCEncendido;
boolean Presentacin;
// ...
}
Se han definido cinco atributos: tres de ellos, Marca, Procesador y Pantalla,
pueden contener una cadena de caracteres del tipo String. Los otros dos
atributos, PCEncendido y Presentacin, son de tipo bolean.
El comportamiento define las acciones que el objeto puede emprender. Por
ejemplo, un objeto de la clase PC puede realizar algunas acciones como:
o
o
o
o
o
Ponerse en marcha
Apagarse
Desactivar la presentacin en la pantalla
Activar la presentacin en la pantalla
Cargar una aplicacin
Para definir este comportamiento hay que crear mtodos. Los mtodos son
rutinas de cdigo definidas dentro de la clase, que se ejecutan en respuesta a
alguna accin tomada desde dentro de un objeto de esa clase o desde otro objeto de
la misma o de otra clase. Los objetos se comunican en ellos mediante mensajes.
Agreguemos a la clase PC un mtodo que responda a la accin de ponerlo en
marcha:
void EncenderPC()
{
if (PCEncendido == true)
// si est encendido...
System.out.println("El ordenador ya est en marcha.");
else // si no est encendido, encenderlo.
{
PCEncendido = true;
System.out.println("El ordenador se ha encendido.");
}
}
Un mtodo consta de su nombre precedido por el tipo del valor que devuelve
cuando finalice su ejecucin (la palabra reservada void indica que el mtodo no
devuelve ningn valor) y seguido por una lista de parmetros separados por comas
y encerrados entre parntesis. Los parntesis indican a Java que el identificador
class PC
{
String Marca;
String Procesador;
String Pantalla;
boolean PCEncendido;
boolean Presentacin;
void EncenderPC()
{
if (PCEncendido == true) // si est encendido...
System.out.println("El ordenador ya est encendido.");
else // si no est encendido, encenderlo.
{
PCEncendido = true;
System.out.println("El ordenador se ha encendido.");
}
}
void Estado()
{
System.out.println("\nEstado del ordenador:" +
"\nMarca " + Marca +
"\nProcesador " + Procesador +
"\nPantalla " + Pantalla + "\n");
if (PCEncendido == true) // si el ordenador est encendido...
System.out.println("El ordenador est encendido.");
else // si no est encendido...
System.out.println("El ordenador est apagado.");
}
public static void main (String[] args)
{
PC MiPC = new PC();
MiPC.Marca = "Toshiba";
MiPC.Procesador = "Intel Pentium";
MiPC.Pantalla = "TFT";
MiPC.EncenderPC();
MiPC.Estado();
}
}
El mtodo main siempre se declara pblico y esttico, no devuelve un resultado y tiene un parmetro args que es un arreglo de cadenas de caracteres.
El mtodo main del ejemplo hace lo siguiente:
La primera lnea crea un objeto de la clase PC y almacena una referencia al
mismo en la variable MiPC. Esta variable se utiliza para acceder al objeto.
Las tres lneas siguientes establecen los atributos del objeto referenciado por
MiPC. Se puede observar que para acceder a los atributos o propiedades del objeto
class PC
{
// ...
}
Una aplicacin se construye mediante una clase cuyo nombre debe coincidir con
el del programa fuente que la contenga, respetando maysculas y minsculas. Por lo
tanto, el cdigo anterior se guarda en un archivo fuente denominado MiPC java.
Finalmente se completa el cdigo, se compila y ejecuta. Ahora es la clase MiPC
la que crea un objeto de la clase PC
public class MiPC
{
public static void main (String[] args)
{
PC MiPC = new PC();
MiPC.Marca = "Toshiba";
MiPC.Procesador = "Intel Pentium";
MiPC.Pantalla = "TFT";
MiPC.EncenderPC();
MiPC.Estado();
}
}
class PC
{
String Marca;
String Procesador;
String Pantalla;
boolean PCEncendido;
boolean Presentacin;
{
void EncenderPC()
if (PCEncendido == true) // si est encendido...
System.out.println("El ordenador ya est encendido.");
else // si no est encendido, encenderlo.
{
PCEncendido = true;
System.out.println("El ordenador se ha encendido.");
}
void Estado()
}
}
La aplicacin MiPC java tiene dos clases: la clase ejecutable MiPC y la clase
PC. La clase ejecutable es pblica (public) y la otra no. Cuando se incluyen
varias clases en un archivo fuente, slo una puede ser pblica y su nombre debe
coincidir con el del archivo donde se guardan. Al compilar este archivo, Java
crear tanto archivos .class como clases separadas hay.
CARACTERSTICAS DE LA POO
Las
caractersticas
fundamentales
de
la
POO
son:
abstraccin,
Abstraccin
Por medio de la abstraccin conseguimos no preocuparnos por los detalles
concretos de las cosas, sino generalizar y centrarse en los aspectos que permitan
tener una visin global del problema.
Encapsulamiento
Esta caracterstica permite ver un objeto como una caja negra en la que se ha
introducido de alguna manera toda la informacin relacionada con dicho objeto.
Esto nos permitir manipular los objetos como unidades bsicas, permaneciendo
oculta su estructura interna.
La abstraccin y el encapsulamiento estn representados por la clase. La
clase es una abstraccin, porque en ella se definen las propiedades o atributos de
un determinado conjunto de objetos con caractersticas comunes, y es una
encapsulacin porque constituye una caja negra que encierra tanto los datos que
almacena cada objeto como los mtodos que permiten manipularlos.
Herencia
La herencia permite el acceso automtico a la informacin contenida en
otras clases. De esta forma se garantiza la reutilizacin del cdigo. Con la herencia
todas las clases estn clasificadas en una jerarqua. Cada clase tiene su superclase
(la clase superior en la jerarqua), y cada clase puede tener una o ms subclases
(las clases inferiores en la jerarqua).
Clase
PC
Clase
PC_Escritorio
Clase
PC_Portatil
Las clases que estn en la parte inferior en la jerarqua se dice que heredan
de las clases que estn en la parte superior en la jerarqua.
El trmino herencia significa que las subclases disponen de todos los
mtodos y propiedades de su superclase. Este mecanismo proporciona una forma
rpida y cmoda de extender la funcionalidad de una clase.
En Java cada clase slo puede tener una superclase, lo que se denomina herencia simple . En otros lenguajes orientados a objetos, como C++, las clases
pueden tener ms de una superclase, lo que se conoce como herencia mltiple. En
este caso, una clase comparte los mtodos y propiedades de varias clases. Esta ca racterstica, proporciona un poder enorme a la hora de crear clases, pero complica
excesivamente la programacin, por lo que es de escasa o nula utilizacin. Java,
intentando facilitar las cosas, soluciona este problema de comportamiento compartido utilizando interfaces.
Una interfaz es una coleccin de nombres de mtodos, sin incluir sus
definiciones, que puede ser aadida a cualquier clase para proporcionarle
comportamientos adicionales no incluidos en los mtodos propios o heredados.
Polimorfismo
Esta caracterstica permite implementar mltiples formas de un mismo
mtodo, dependiendo cada una de ellas de la clase sobre la que se realice la
implementacin. Esto hace que se pueda acceder a una variedad de mtodos
distintos (todos con el mismo nombre) utilizando exactamente el mismo medio de
acceso.
CONSTRUCTORES Y DESTRUCTORES
Un constructor es un procedimiento especial de una clase que es llamado
automticamente siempre que se crea un objeto de esa clase. Su funcin es iniciar
el objeto.
Un destructor es un procedimiento especial de una clase que es llamado
automticamente siempre que se destruye un objeto de esa clase. Su funcin es
realizar cualquier tarea final en el momento de destruir el objeto.
Otro Ejemplo:
Se va a construir una clase para representar nmeros racionales. Un nmero
racional como objeto, tendra dos atributos: el numerador y el denominador. Y
los mtodos aplicables 'sobre los nmeros racionales son numerosos: suma, resta,
multiplicacin, simplificacin, etc. Pero slo consideraremos dos mtodos:
AsignarDatos, para establecer los valores del numerador y del denominador;
VisualizarRacional , para visualizar un nmero racional.
class Racional
{
int Numerador;
int Denominador;
void AsignarDatos(int num, int den)
{
Numerador = num;
if (den == 0) den = 1; // el denominador no puede ser
cero
Denominador = den;
void VisualizarRacional()
{
.
System.out.println(Numerador + / + Denominador);
}
{
// Punto de entrada a la aplicacin
Racional rl = new Racional(); // crear un objeto Racional
rl.AsignarDatos(2, 5);
rl.VisualizarRacional();
}
}
Una vez editado el programa, se guarda en el disco con el nombre
Racional.java .
EJERCICIOS PROPUESTOS
1.
2.
Disear una clase Coche que represente coches. Incluir los atributos
marca, modelo y color; y los mtodos que simulen, enviando mensajes, las
acciones de arrancar el motor, cambiar de velocidad, acelerar, frenar y parar
el motor.