|
Para aplicar con eficiencia el paradigma de
la programación orientada a objetos en el desarrollo de software, es necesario
conocer los siguientes conceptos fundamentales:
¿Qué
es un objeto?
Primeramente tenemos que tener claro lo siguiente:
ü Un
objeto es una abstracción de la realidad. Por ejemplo: Cliente
ü Los
objetos conocen cuál es su estado actual, cada conocimiento del objeto se
denomina atributo. Por ejemplo: El objeto Cliente tiene los atributos nombre,
dirección, etc.
ü Un
objeto es útil si tiene alguna función o comportamiento en el sistema, cada
comportamiento se denomina operación. Por ejemplo: El objeto Cliente podría
alquilar una película, pagar una factura, etc.
¿Qué
es una clase?
ü Una
clase es un molde para crear objetos.
ü Para
definir una clase se tiene que indicar las operaciones y atributos.
ü Cada
vez que se construye un objeto a partir de una clase, estamos creando una
instancia de esa clase.
Miembros
de una clase: atributos y métodos
Los
atributos son las características individuales que diferencian un objeto de otro
y determinan su apariencia, estado u otras cualidades.
Un
método es un conjunto de instrucciones que realizan una determinada tarea y son
similares a las funciones de los lenguajes estructurados.
Categorías de métodos
En las clases, se pueden
identificar varias categorías de métodos:
ü Métodos inicializadores: inicializan atributos.
ü Métodos accedentes o selectores: devuelven el valor de
los atributos. Cada método accedente devuelve un atributo.
ü Métodos mutadores o modificadores: permiten cambiar el
valor de los atributos.
ü Métodos visualizadores: muestran el objeto, es decir,
el valor de los atributos.
ü Métodos operadores: realizan cálculos y generan
resultados.
¿Qué
es un constructor?
Un método constructor es una
función miembro especial quelleva a cabo la inicialización automática de cada
objeto de laclase en el momento en que se declara.Los diseñadores del lenguaje
decidieron asignar la tarea de inicializar losobjetos a los métodos constructores.
La consideraron tan importante quesi el programador no declara ningún método
constructor, el compiladorse encarga de definir un constructor por defecto.El
constructor por defecto, se ejecuta automáticamente cada vez que se crean
objetos sin pasar argumentos.
Nota: El
constructor debe tener el mismo nombre que la clase.
Ejemplo:
class Suma
{
int a, b;
public Suma ()---------------Constructor
sin argumentos (por defecto)
{
}
public Suma( int a, int b)-----------------constructor
con argumentos (sobrecargado)
{
this.a=a;
this.b=b;
}
Nota: Pueden existir muchos
constructores en una clase siempre y cuando se diferencien en los argumentos.
El prefijo “this” se utiliza cuando estamos accesando a un atributo de la clase
(dentro de la misma clase) es decir sirve para hacer referencia que vamos a
usar las propiedades de la clase.
Tipos
datos y declaraciones: primitivos, por referencia
Variables
de instancia y de clase
Variables de instancia son aquellas que
guardan los valores de los atributos y que son
declaradas en la clase pero sus valores son fijados y cambiados en el objeto.Las
variables de clase comparten un único valor entre todas las instancias de la
clase. Se declaran con el calificador static.
Métodos
de instancia y de clase
Del mismo modo que hay variables
de instancia y de clase, también hay métodos de instancia y de clase. En el
primer caso, un objeto llama a un método para realizar una determinada tarea,
en el segundo, el método se llama desde la propia clase y estos métodos son
compartidos por todas las instancias. Se usan estos métodos principalmente en
manipular variables de instancia.Se les declara con el calificador static. Se
invoca a este método de clase con el nombre de la clase o con el nombre de una
instancia.
La
definición de un método tiene el siguiente formato:
[modificador]
tipo nombreFuncion(tipo parm1, tipo parm2, tipo parm3, . . .)
{
declaraciones
de variables locales;
//...sentencias
[return[(]expresión[)]];
}
Nota:
Un modificador es una palabra clave que modifica el nivel de protección
predeterminado del método (este tema se analizará más adelante).
Los Valores de retorno se aplican sólo a las funciones más no a los
procedimientos (para estos últimos se usa void).Se usa la sentencia return para
salir del método retornando un valor.No se requiere return si el tipo de
retorno es void.
Un programa de Java contiene una o más clases.
Por lo general una clase contiene miembros que pueden ser atributos y métodos. Los
primeros son variables que almacenan datos y objetos. Los segundos son
funciones que codifican operaciones. Es así que ellos reciben argumentos,
realizan cálculos predefinidos y devuelven resultados.
La estructura de un programa se puede
representar de la siguiente manera:
Class NombredelaClase
{
<Campos
o atributos >
. .
<Métodos>
}
Nota: Se debe tener un método main para que
se pueda ejecutar la aplicación.
En Java, las clases contienen a todos los
métodos, no se les permite no estar anexados y eso también sucede con las
funciones. Un mensaje enviado a un objeto activa (o invoca) un método de ese
objeto, le pasa argumentos y obtiene el valor que devuelve. Los objetos
interactúan al enviar y recibir mensajes.
Con
objetos, puede construirse un programa grande con muchas unidades pequeñas,
independientes y que interactúan entre sí. La orientación a objetos puede
reducir significativamente la complejidad del programa, aumentar su
flexibilidad y mejorar las posibilidades de volver a usarlo. Un programa de
Java puede definir sus propias clases, utilizarlas ya integradas y emplear las
que han sido creadas por otros.
Las
clases pueden estar organizadas en paquetes con un nombre. Cada paquete puede
contener uno o más archivos de código fuente.En el main se crean
los objetos estos se crean con el operador new, y su formato es el siguiente:
Nombrede
la claseNombredelObjeto= newNombrede la clase();
El
operador new realiza las siguientes acciones:
ü Separa
memoria para el nuevo objeto
ü Invoca
el método de inicio de la clase llamado constructor.
ü Retorna
la referencia a un nuevo objeto.
No hay comentarios:
Publicar un comentario