domingo, 11 de octubre de 2015


FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
 




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.


ESTRUCTURA DE UN PROGRAMA EN JAVA
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