En la programación orientada a objetos, los objetos son los agentes y también el universo de un programa, igualmente se debe prestar atención a la estructura de los datos. Cuando se diseña una clase, se piensa en los objetos que serán creados por esa clase es decir en las cosas que podrán hacer ese objeto, y las características que lo definen. Una clase es como la definición de un objeto, pero no es el objeto en sí, del modo como una idea no es una cosa física, si imaginamos una silla, para sentarnos necesitaremos convertir esa idea en algo, en un objeto real; a ese objeto lo llamamos instancia.
El estilo de programación funcional que se usa por ejemplo en el lenguaje C es usado para programar. En este tipo de programación, hay que centrarse en los pasos para realizar la tarea, y debemos olvidar de cómo se manejan los datos.
A continuación se estará tratando como es la creación y uso de objetos en java, así como también las definiciones de diversos conceptos como constructores y programas que especifican cada una de sus clasificaciones.
1.1 Objeto
Un objeto es un
contenedor de datos, que a su vez controla el acceso a dichos datos. Asociados
a los objetos está una serie de variables que lo definen estas variable son sus atributos. Por otra parte
un conjunto de funciones que crean un interfaz para interactuar con el objeto
son el método. Si dice que Un objeto es una combinación de
estado y de métodos que cambian ese estado.
1.1.1 Instancia de una clase
Unidad atómica que encapsula estado y
comportamiento.
Es de resaltar lo siguiente:
-Un objeto puede caracterizar una entidad física
(un teléfono, un interruptor, un cliente) o una entidad abstracta (un número,
una fecha, una ecuación matemática).
-Todos los objetos son instancias de una clase
esto quiere decir que los objetos se crean por instanciación de las clases.
-Todos los objetos de una misma clase (p.ej.
coches) comparten ciertas características: sus atributos (tamaño, peso, color,
potencia del motor…) y el comportamiento que exhiben (aceleran, frenan,
curvan…).
-Todo objeto tiene: Identidad (puede
distinguirse de otros objetos), Estado (datos asociados a él), Comportamiento
(puede hacer cosas).
Las diferentes
instancias de cada clase difieren entre sí por los valores de los datos que
encapsulan (sus atributos). Dos objetos con los mismos valores en sus atributos
pueden ser diferentes. Todos los objetos de una misma clase usan el mismo
algoritmo como respuesta a mensajes similares. El algoritmo empleado como
respuesta a un mensaje (esto es, el método invocado) viene determinado por la
clase del receptor. Una clase es una descripción de un conjunto de objetos
similares. Al programar, definimos una clase para especificar cómo se comportan
y mantienen su estado los objetos de esa clase. A partir de la definición de la
clase, se crean tantos objetos de esa clase como nos haga falta.
1.2 Clase
Una clase es usada para
construir un objeto. Una clase es como un molde para objetos. Y un objeto, una
instancia de la clase. Por ejemplo, se puede usar la clase Button para hacer
docenas de botones, cada botón con su propio color, tamaño, forma.
1.3 Creación de
objetos
Antes de poder usar un objeto hemos de crearlo
Ejemplo:
A) El
operador new nos permite crear
objetos en java.
Tipo identificador = new Tipo () ;
Si escribimos un programa como el siguente:
Public class Ingreso
{
Public static void main (String
args [] )
{
Cuenta cuenta;
//Error
Cuenta.ingresar (100.00); } }
El compilador nos da el siguiente error:
Ingreso.java:7:
Variable cuenta might not have
been initializaed
Cuenta.ingresar(100.00) ;
Hemos
declarado una variable que, inicialmente, no tiene ningún valor. Antes de
utilizarla, deberíamos haberla inicializado (con un objeto del tipo
adecuado):
Cuenta
cuenta = new Cuenta ().
Observaciones:
Se suele crear una clase aparte, que únicamente contenga un método main, como
punto de entrada de la aplicación. En la implementación del método main se
crean los objetos que sean necesarios y se les envían mensajes para indicarles
lo que deseamos que hagan
1.3.1 Constructores
Cuando
utilizamos el operador new acompañado del nombre de una clase, se crea un
objeto del tipo especificado (una instancia de la clase cuyo nombre aparece al
lado de new). Al crear un objeto de una clase concreta, se invoca a un método
especial de esa clase, denominado constructor, que es el que se encarga de
inicializar el estado del objeto.
- Constructor por defecto
Por
defecto, Java crea automáticamente un constructor sin parámetros para cualquier
clase que definamos.
public class Cuenta
{
// Constante
public static final double LIMITE_NORMAL =
300.00;
// Variables de instancia
private double
balance = 0;
private double limit = LIMITE_NORMAL;
// Métodos ... }
Al
crear un objeto de tipo Cuenta con new Cuenta (), se llama al constructor por
defecto de la clase Cuenta, con lo cual se crea un objeto de tipo Cuenta cuyo
estado inicial será el indicado en la inicialización de las variables de
instancia balance y limit.
- Constructores definidos por el usuario
Los
lenguajes de programación nos permiten definir constructores para especificar
cómo ha de inicializarse un objeto al crearlo. El nombre del constructor ha de
coincidir con el nombre de la clase.
Podemos
definir un constructor para inicializar las variables de instancia de una
clase, en vez de hacerlo en la propia declaración de las variables de
instancia:
public class Cuenta
{
// Constante public static final double
LIMITE_NORMAL = 300.00;
// Variables de instancia
private double balance;
private double limit;
// Constructor sin parámetros
public Cuenta ()
{
this.balance = 0;
this.limit = LIMITE_NORMAL;
}
// Métodos
... }
La palabra reservada this hace referencia al
objeto que realiza la operación cuya implementación especifica el método.
- Constructores con parámetros:
public class Cuenta
{
// Constante public static final
double LIMITE_NORMAL = 300.00;
// Variables de instancia private
double balance; private double limit;
// Constructor con parámetros
public Cuenta (double limit)
{
this.balance = 0; this.limit = limit;
}
//
Métodos ... }
Ahora,
para crear un objeto de tipo Cuenta, hemos de especificar los parámetros adecuados
para su constructor:
Cuenta cuenta = new Cuenta(Cuenta.LIMITE_NORMAL); O bien
Cuenta cuentaVIP = new Cuenta(6000.00);
La cuenta VIP tendrá un límite de 6000 e en vez del
limite normal.
En
cuanto definimos un constructor, ya no podemos utilizar el constructor por
defecto de la clase (el constructor sin parámetros que Java crea
automáticamente si no especificamos ninguno)
Si sólo está definido el constructor anterior
public Cuenta (double limit)
al crear un objeto con
Cuenta cuenta = new Cuenta();
el compilador de Java nos da el siguiente error:
CuentaTest.java:5: cannot find
symbol
symbol : constructor Cuenta()
location: class Cuenta
Cuenta cuenta = new Cuenta();
^
1 error
porque no existe ningún constructor sin parámetros definido para la clase
Cuenta.
Para
facilitarnos la creación de objetos, Java nos permite definir varios
constructores para una misma clase (siempre y cuando tengan parámetros
diferentes). De forma que podemos incluir los dos constructores en la
implementación de la clase Cuenta y escribir lo siguiente:
public class CuentaTest
{
public static void main (String
args[])
{
Cuenta cuentaNormal = new Cuenta(); Cuenta cuentaVIP =
new Cuenta(6000.00); … } }
1.4 Uso de objetos
El operador. (punto) en Java nos permite acceder a los
distintos miembros de una clase: objeto.miembro. Cuando tenemos un objeto de un
tipo determinado y queremos acceder a uno de sus miembros sólo tenemos que
poner el identificador asociado al objeto (esto es, el identificador de una de
las variables de nuestro programa) seguido por un punto y por el identificador
que hace referencia a un miembro concreto de la clase a la que pertenece el
objeto.
¿Cómo se comprueba el estado de un objeto?
Accediendo a las variables de instancia del objeto objeto.atributo
Por ejemplo,
cuenta.balance nos permitiría acceder al valor numérico correspondiente al
saldo de una cuenta, siempre y cuando cuenta fuese una instancia de la clase
Cuenta.
¿Cómo se le envía un
mensaje a un objeto? Invocando a uno de sus métodos. objeto.método (lista de
parámetros) La llamada al método hace que el objeto realice la tarea
especificada en la implementación del método, tal como esté definida en la
definición de la clase a la que pertenece el objeto.
Ejemplos
cuenta.ingresar(150.00);
- Si cuenta es el
identificador asociado a una variable de tipo Cuenta, se invoca al método
ingresar definido en la clase Cuenta para depositar una cantidad de dinero en
la cuenta.
- La implementación
del método ingresar se encarga de actualizar el saldo de la cuenta, sin que
nosotros nos tengamos que preocupar de cómo se realiza esta operación.
System.out.println(“Mensaje”);
- System es el nombre de una clase incluida en
la biblioteca de clases estándar de Java.
- System.out es un miembro de la clase System
que hace referencia al objeto que representa la salida estándar de una
aplicación Java.
- println() es un método definido en la clase
a la que pertenece el objeto System.out.
- La implementación del método println() se
encarga de mostrar el mensaje que le pasamos como parámetro y hace avanzar el
cursor hasta la siguiente línea (como si pulsásemos la tecla ↵).
- System.out.println() es una llamada a un
método, el método println() del objeto System.out
- La línea completa
forma una sentencia (terminada con un punto y coma) que delega en el método
println() para que éste se encargue de mostrar una línea en pantalla.
Conclusión
Conclusión
La programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos.
Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades
Todo objeto tiene Identidad puede distinguirse de otros objetos tiene estado que son los datos asociados a él y además lleva un Comportamiento donde puede hacer cosas.
Antes de poder usar un objeto debemos de crearlo y cuando se crea un objeto de una clase concreta, se invoca a un método especial de esa clase, denominado constructor, que es el que se encarga de inicializar el estado del objeto.
La tarea de crear nuevos objetos sólo la puede hacer la clase; los objetos no pueden crearse a sí mismos.
Se puede comprobar el estado de un objeto accediendo a las variables de instancia del objeto objeto.atributo
Al programar, definimos una clase para especificar cómo se comportan y mantienen su estado los objetos de esa clase.
REFERENCIAS BIBLIOGRÁFICAS
Documento en línea. Disponible en: http://rubytutorial.wikidot.com/clases-objetos
Documento en línea. Disponible en: file:///C:/Users/marycarmen/Desktop/3B-Clases.pdf

0 comentarios:
Publicar un comentario