Introducción a la programación orientada del objeto (OOP)


  Share  
|


La transición de una lengua de programación procesal (del non-OOP) a un lenguaje de programación orientado al objeto es un paso grande para muchos programadores. Es verdad que ambos métodos de programación pueden alcanzar en última instancia las mismas metas, pero usted encontrará OOP es una manera más aseada y más rápida de programar, es más conveniente para el trabajo en equipo, y los programas son generalmente más fáciles de diseñar con el acercamiento orientado al objeto. Con OOP en Java, usted encontrará que la programación es desafiadora comenzar con, con todo muy fácil y muy recompensándole una vez domínela.

¿Cuál es un objeto?

Los objetos son los bloques de edificio que hacen para arriba un programa. Es difícil explicar exactamente cuáles es un objeto porque un objeto puede ser cualquier cosa que usted desea. Por ejemplo, usted puede crear un objeto que represente a extranjero que puede llevar a cabo toda la información relacionada con el extranjero y también contener la funcionalidad asociada a él. Usted puede incluir datos tales como el número de vidas que el extranjero tiene y también la funcionalidad afectar los datos, tales como código para matar al extranjero, que podría quitar una de las vidas.

Los elementos esenciales que hacen para arriba un objeto son variables y métodos. Las variables son miembros de los datos, o las cualidades, que contienen datos referentes al objeto, tal como una secuencia de texto o un valor numérico. Los métodos proporcionan la funcionalidad del objeto y se pueden utilizar obrar recíprocamente con las cualidades. Los métodos también se conocen como funciones o procedimientos en lenguajes de programación otros.

Programación Objeto-Orientada en Java
La lengua de Java es totalmente objeto orientado. Esto significa que no hay declaraciones globales cualesquiera (aunque los miembros estáticos pueden ser concebidos como siendo algo global.we discutirá a miembros estáticos más adelante). Cualesquiera cualidades o método se deben definir como parte de una clase o de un interfaz.

Una clase en Java se utiliza para definir la estructura de un objeto. Una clase se puede analizar en tres porciones principales: constructores, cualidades (características), y métodos.

Ahora miremos un ejemplo de una estructura de clase muy simple que contiene estas tres piezas antes de que vayamos más lejos. Un ejemplo de una clase podría ser una persona, que podría describir las cualidades y los métodos que una persona habría podido asociar a ellos. Un objeto se puede entonces crear de la clase de la persona, como usted o mí, o aún de su socio (si usted no tiene un socio, entonces manan hecho; usted es programador verdadero).

Para crear un objeto, debemos primero crear una clase. No se preocupe de compilar cualquiera del código ahora; apenas siéntese detrás, asga un café, y el intento para entender algunos fundamentos.

Aquí está el principio de nuestra clase de la "persona":

persona de la clase {}

Ahora, en el momento que, tenemos el código del contorno para una clase de la persona. Primero debemos agregar algunas cualidades. Agreguemos una cualidad numérica a la clase para almacenar la edad de una persona.

clasifique a persona {edad interna; }

Los soportes internos de la palabra clave para el número entero, representando un tipo de datos numérico. A este punto, la clase de la persona es todas las cualidades y ninguna funcionalidad (que señalan claramente a una carrera en política). Podemos agregar un método a la clase como sigue, que se puede utilizar para cambiar el valor en edad:

clasifique a persona {newAge vacío) del setAge(int del 
público {// sistema que la edad al valor almacenó en edad del newAge
= newAge; } edad interna; }

Ahora tenemos una clase llamada Person, conteniendo un setAge llamado método y una edad llamada cualidad. El setAge del método se puede utilizar para asignar un nuevo valor a la edad de la persona. Una vez más no se preocupe demasiado de cómo los métodos trabajan por el tiempo que es; su café debe apenas estar bastante fresco alrededor ahora beber.

Para crear un objeto (o un caso, mientras que también se sabe) de la clase de la persona, un constructor debe ser invocado. Todas las clases contienen un constructor del defecto, que no hace nada y se puede sobrecargar con muchos tipos del constructor, pues veremos.

Constructores

El constructor es un método se llama que cuando se crea y se utiliza el objeto para inicializar el estado del objeto. El constructor debe ser declarado con el mismo nombre que la clase en la cual se contiene y no puede tener un valor de vuelta. Ahora agregaremos a dos constructores a la clase de la persona:

clasifique a persona {newAge público público) de 
Person() {// edad básica del constructor es fijado a 0 por el 
defecto} Person(int {// contructor que fija la edad a un 
setAge(newAge) especificado del valor; } newAge vacío) del 
setAge(int del público {// sistema la edad al valor almacenado en 
edad del newAge = newAge; } edad interna; }

Usted puede declarar una referencia a un objeto de la persona como sigue:

BillyGate de la persona;
En el momento que, usted tiene una referencia a un objeto del tipo persona, que no se refiere actualmente a ningún objeto. Los miembros del objeto no pueden ser alcanzados, como la edad de la cualidad, porque no se ha creado ningún objeto. Observe que el billyGate variable de la referencia es realmente igual a la falta de información a este punto.

Una llamada a un constructor se debe hacer para crear un nuevo objeto del tipo persona, asignando el billyGate variable para referirse al nuevo objeto.

Si no se declara ningunos constructores para una clase, un constructor del defecto está disponible que las tomas ningunos parámetros y crea simplemente un objeto del defecto de la clase cuando está invocado. En nuestro snippet del código hemos creado nuestro propio constructor Person() del defecto, que no contiene ningún código, y un segundo constructor también llamó el newAge de Person(int), que contiene el código que fija la edad del valor en la persona que el objeto a una nueva edad especificó por un valor de parámetro.

Observe nos tenía declaró solamente a segundo constructor y omitió a primer constructor, allí sería no más de largo un constructor del defecto disponible que no toma ningún parámetro, pues existe el constructor del defecto solamente si la clase no contiene a ninguna constructores definida por el usario.

Para crear un objeto de la clase de la persona, podríamos utilizar la línea siguiente del código:

//que usaba a segundo constructor, fijó valor de la edad 
al billyGate de 21 personas = Person(21) nuevo;

Esta línea del código declara un identificador llamado billyGate del tipo persona y crea un "nuevo" objeto de la persona usando al segundo constructor en la clase de la persona para inicializar el objeto, fijando el valor de la edad en el nuevo objeto de la persona a 21.

Podríamos también utilizar el código siguiente en lugar de otro, este vez usando al primer constructor (del defecto) para inicializar el objeto y después para fijar el valor de la edad usando el método del setAge, que es un miembro del objeto nuevamente creado.

//primer billyGate de la persona del constructor del uso =
Person() nuevo; //miembro del setAge del uso para fijar edad a 
21 billyGate.setAge(21); //sistema el valor de la edad a 21

Podemos también tener acceso a la edad variable y determinada su valor directamente, como sigue:

billyGate.age = 21;

Nota usted no puede tener dos constructores con la misma firma.

Hemos visto hasta ahora el instantiation, que es el término usado para describir la creación de un objeto o de un caso de una clase. El diagrama siguiente esperanzadamente le ayudará a entender esto un poco mejor, como demuestra la relación entre la clase de la persona y los objetos creados de él.

Un miembro del objeto es un miembro se crea que cuando se crea el objeto. Esto significa que puede ser alcanzada solamente una vez que se haya creado el objeto porque no existe de otra manera. El ejemplo que acabamos de ver crea un caso de la persona de la clase referida por el billyGate. Habríamos podido también crear muchos más casos de la clase de la persona. Suponga que dijimos que el objeto del billyGate era la única persona a que necesitaríamos o desearíamos siempre crear; entonces podríamos desechar la clase de la persona en conjunto y crear simplemente una nueva clase llamó a BillyGate en lugar de otro.

clasifique BillyGate {newAge vacío estático público) 
del setAge(int {// sistema que la edad al valor almacenó en edad del 
newAge = newAge; } edad estática interna; }

Note que hemos quitado a constructores y hemos agregado la palabra clave estática a los dos miembros definidos. Esto es porque nosotros ninguna necesidad más larga de crear un caso de esta clase. Podemos apenas tener acceso a los miembros estáticos usando el nombre de la clase. Por ejemplo:

BillyGate.setAge(21);

Conocen a estos miembros estáticos como miembros de la clase, mientras que antes de que tuviéramos miembros del objeto.

Los ejemplos que hemos utilizado hasta ahora contienen solamente a miembros del objeto o a miembros de la clase; usted puede por supuesto utilizar ambos. Ahora déjenos de vuelta a nuestra clase de la persona y agregue una cualidad estática. La cualidad estática debe ser algo que va a ser igual para toda la persona se opone que creamos. Podríamos agregar tan una variable de número entero llamada daysInAYear.

persona de la clase {// código como antes de daysInAYear 
interno estático; }

Podemos tener acceso a la cualidad daysInAYear antes de que creemos cualquier objeto de la clase de la persona. Por ejemplo:

Person.daysInAYear = 365;

Si creamos nuevos casos de la persona, entonces él puede tener acceso también al daysInAYear variable estático.

Person(21) glennMurphy = nuevo de la persona; 
AndrewMulholland de la persona = Person(20) nuevo; 
glennMurphy.daysInAYear = 366; //es un año bisiesto 
System.out.println(andrewMullholland.daysInAYear);

Este código creará dos nuevos casos de la persona, referidos por glennMurphy y el andrewMulholland. El objeto glennMurphy entonces fija el daysInAYear variable estático a 366, y el objeto del andrewMulholland tendrá acceso a daysInAYear, imprimiendo su valor a la ventana de la consola. El número que será impreso a la ventana de la consola es 366, que significa eso daysInAYear no pertenece a cualesquiera de los objetos solamente; pertenece a todos, y los cambios realizados a partir del uno afectan el otro. Hay solamente una porción de la memoria que contiene el valor 366 a el cual todos se refieren. En cortocircuito, es la misma cualidad sin embargo que está alcanzada.

Referencias

Para tener acceso a objetos (recuerde que son casos de clases) en Java, utilizamos qué se conocen como referencias. Hemos utilizado tres referencias hasta ahora en nuestros ejemplos del código: billyGate, glennMurphy, y andrewMulholland. Éstos no eran los objetos reales que creamos pero se refieren simplemente (también conocido como manijas) a los objetos creados. Tome el código siguiente por ejemplo:

andrewMulholland = glennMurphy; //él nunca será mi
igual

Este código hace simplemente que el andrewMulholland se refiere al mismo objeto que las referencias glennMurphy; por lo tanto usted podría entonces tener acceso al mismo objeto usando cualquiera de las dos referencias.

El objeto con la edad igual a 20 que el andrewMulholland referido una vez ahora está perdido, pero no se preocupa de liberar la memoria; esto es tomada cuidado por del colector de la basura de Java.

esto es un artículo agregado por Gabriela C. Perez


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions