Vous êtes sur la page 1sur 12

Java Orientado a Objetos

Java es un lenguaje de programacin orientado a objetos (POO), lo que significa


que podemos disear clases, objetos y mtodos que pueden realizar ciertas
acciones. Estos comportamientos son importantes en la construccin de
programas Java ms grandes y potentes.
En esta leccin, exploraremos algunos conceptos fundamentales de la
programacin orientada a objetos para aprovechar el poder de la POO en Java.

Clases: Sintaxis
Un concepto fundamental de la programacin orientada a objetos en Java es la
clase. Una clase es un conjunto de instrucciones que describen
cmo debe comportarse una estructura de datos.
Java nos proporciona su propio conjunto de clases predefinidas, pero tambin
somos libres de crear nuestras propias clases personalizadas.
Las clases en Java se crean de la siguiente manera:
// Crear una clase personalizada de un Auto
class Auto {

Clases: Constructores
Hemos creado una clase Java, pero actualmente no hace nada; Necesitamos
describir el comportamiento de la clase para que sea til. Empecemos por
crear el estado inicial de nuestra clase. Podemos hacerlo aadiendo un
constructor de clase.
El cdigo siguiente muestra cmo se crea un constructor de clase:
class Auto {

// El constructor de clase para la clase Auto


public Auto() {

1
}
Clases: Variables de Instancia
Cuando creamos una nueva clase, probablemente tengamos detalles
especficos que queremos incluir en la clase. Guardamos esos detalles
especficos en variables de instancia.
Aqu hay una variable de instancia en la clase Auto que describe un detalle que
podramos asociar con un auto:

class Auto {

// Utilizando variables de instancia para modelar nuestra clase Auto


int aoModelo;

public Auto() {

En el ejemplo anterior, hemos creado la variable de instancia denominada


aoModelo. Las variables de instancia modelan los atributos del
auto del mundo real, como el ao de modelo de un auto. Finalmente, la
variable de instancia est representada por el tipo de datos int.

2
Clases: Parmetros del Constructor
Al agregar un constructor de clase y crear variables de instancia, pronto
podremos usar la clase Auto. Sin embargo, el constructor de clase Auto todava
est vaco. Modifiquemos esto agregando parmetros al constructor del Auto.
Usted puede pensar en parmetros como opciones en una tienda de helados.
Usted puede elegir ordenar un cono de helado tradicional, pero otras veces
puede que desee especificar el tamao del cono o el sabor del helado.
Los parmetros permiten crear tipos de datos con atributos especificados.
Vamos a agregar parmetros a nuestro constructor de la clase Auto:

class Auto {

// Usar variables de instancia para modelar nuestra clase de Auto como un auto
de la vida real
int aoModelo;

public Auto(int ao) {

aoModelo = ao;
}
}

En el ejemplo anterior, agregamos el parmetro int ao al constructor Auto.


El valor de aoModelo ser igual al valor int que se especifica cuando usamos
por primera vez este constructor de clase.

3
El Mtodo main (Mtodo principal)

class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;

public static void main(String[] args) {

}
}

Estamos casi listos para usar nuestra clase de Auto personalizada! Pero
primero, necesitamos entender cmo estructurar y ejecutar nuestro programa
Java.
Usted puede haber notado esta misteriosa lnea de cdigo:

public static void main(String[] args) {


}

Este es el mtodo principal incorporado de Java. Vamos a aprender ms


sobre mtodos y palabras clave alrededor del mtodo principal ms adelante,
pero primero vamos a entender cul es su propsito. Cuando Java ejecuta su
programa, se ejecuta el cdigo dentro del mtodo principal.

4
Por ahora, puede ignorar las palabras clave del mtodo principal que an no
hemos cubierto. Usted aprender sobre ellos ms adelante en el curso.

Objetos
Ahora que tenemos un mtodo principal en nuestra clase, estamos listos para
comenzar a usar la clase Auto.
Para usar la clase Auto, debemos crear una instancia de la clase Auto. Una
instancia de una clase se conoce como un objeto en Java.
En el ejemplo siguiente se muestra cmo crear un objeto Auto:

class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;

public static void main(String[] args) {


Auto miAutoRapido = new Auto(2007);
}

En el ejemplo anterior, creamos un objeto Auto llamado miAutoRapido.


Cuando creamos miAutoRapido, usamos el constructor de clase y
especificamos un valor para el parmetro requerido int ao.
2007 es el ao modelo de miAutoRapido.
Tenga en cuenta que hemos declarado el nuevo objeto dentro del mtodo
principal.

5
Mtodos: I
Hemos creado un objeto Auto dentro del mtodo principal, pero... no sucedi
nada.
Aunque creamos un objeto dentro del mtodo principal, no imprimimos nada
sobre el objeto miAutoRapido en s mismo, ni dimos instrucciones a la clase
para realizar ninguna accin. Aprendamos cmo se usan los mtodos en Java
para definir acciones.
Un mtodo es un conjunto predefinido de instrucciones. Los mtodos se
declaran dentro de una clase. Java proporciona algunos mtodos predefinidos
disponibles para todas las clases, pero tambin podemos crear nuestros
propios.

Vamos a crear un nuevo mtodo:


class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;
}

// Nuestro nuevo mtodo para ayudarnos a "empezar"


public void arrancarMotor() {
System.out.println("Vroom!");
}

public static void main(String[] args) {


Auto miAutoRapido = new Auto(2007);
}
}

6
En el ejemplo anterior, agregamos un mtodo llamado arrancarMotor. Cuando
se utiliza el mtodo, se imprimir Vroom !. La palabra clave void se explicar
ms adelante en este curso. Tenga en cuenta que el mtodo arrancarMotor se
crea fuera del mtodo principal, como el constructor.

Usando Mtodos: I
Ahora el mtodo de arrancarMotor est disponible para su uso en el objeto
miAutoRapido. Podemos hacerlo llamando al mtodo en miAutoRapido.
A continuacin se muestra un ejemplo de cmo llamar a un mtodo en un
objeto utilizando la clase Auto:

class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;
}

public void arrancarMotor() {


System.out.println("Vroom!");
}

public static void main(String[] args) {


Auto miAutoRapido = new Auto(2007);
miAutoRapido.arrancarMotor();
}

En el ejemplo anterior, llamamos al mtodo arrancarMotor en el objeto


miAutoRapido. De nuevo, esto ocurre dentro del mtodo principal.

7
Mtodos: II
Al igual que los constructores, puede personalizar mtodos para aceptar
parmetros.

class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;
}

public void arrancarMotor() {


System.out.println("Vroom!");
}

public void conducir(int distanciaEnKilometros) {


System.out.println("Kilmetros conducidos: " + distanciaEnKilometros);
}

public static void main(String[] args) {


Auto miAutoRapido = new Auto(2007);
miAutoRapido.arrancarMotor();
miAutoRapido.conducir(2620);

En el ejemplo anterior, creamos un mtodo de unidad que acepta un parmetro


int llamado distanciaEnKilometros. En el mtodo principal, llamamos al mtodo

8
conducir en el objeto miAutoRapido y proporcionamos un parmetro int de
2620. Llamar el mtodo de unidad en miAutoRapido resultar en imprimir
kilmetros conducidos: 2620 a la consola.

Usando Mtodos: II
Vamos a explorar una de las palabras clave utilizadas en la declaracin de un
mtodo. En ejercicios pasados, al crear nuevos mtodos, usamos la palabra
clave void.
La palabra clave void indica que ningn valor debe ser devuelto por el mtodo
despus de que ejecute toda la lgica en el mtodo. Si queremos que el
mtodo devuelva un valor despus de que termine de ejecutarse, podemos
especificar el tipo de retorno.
La palabra clave void (que significa "completamente vaco") indica al mtodo
que no se devuelve ningn valor despus de llamar a ese mtodo.
Como alternativa, podemos utilizar palabras clave de tipo de datos (como int,
char, etc.) para especificar que un mtodo devuelva un valor de ese tipo.

Un ejemplo de indicar un valor de retorno para un mtodo es el siguiente:

class Auto {
int aoModelo;

public Auto(int ao) {


aoModelo = ao;
}

public void arrancarMotor() {


System.out.println("Vroom!");
}

public void conducir(int distanciaEnKilometros) {


System.out.println("Kilmetros conducidos: " + distanciaEnKilometros);

9
}

public int numeroDeNeumaticos() {


return 4;
}

public static void main(String[] args) {


Auto miAutoRapido = new Auto(2007);
miAutoRapido.arrancarMotor();
miAutoRapido.conducir(2620);

int neumaticos = miAutoRapido.numeroDeNeumaticos();


System.out.println(neumaticos);
}

En el ejemplo anterior, hemos creado el mtodo numeroDeNeumaticos. Este


mtodo especifica que devolver un tipo de datos int. Dentro del mtodo,
usamos la palabra clave return para devolver el valor de 4 que es un tipo int.
Dentro de main, llamamos el mtodo numeroDeNeumaticos en miAutoRapido.
Puesto que el mtodo devuelve un valor int de 4, almacenamos el valor dentro
de una variable int llamada neumticos. A continuacin, imprimimos el valor de
los neumticos a la consola.

10
Herencia
Uno de los conceptos de programacin orientados a objetos que nos permite
reutilizar y mantener el cdigo de manera ms eficiente se llama herencia. Se
utiliza para compartir o heredar el comportamiento de otra clase. Veamos un
ejemplo:

class Auto extends Vehiculo {


int aoModelo;
// Otro cdigo omitido para resumir...
public static void main(String[] args){
Auto miAutoRapido = new Auto(2007)
miAutoRapido.verificarEstadoBateria();
}

class Vehiculo {

public void verificarEstadoBateria() {


System.out.println("La batera est completamente cargada y lista para
funcionar!");
}

En el ejemplo anterior, se utiliza la palabra clave extends para indicar que la


clase Auto hereda el comportamiento definido en la clase Vehculo. Esto tiene
sentido, ya que un auto es un tipo de vehculo.

11
Dentro del mtodo principal del Auto, llamamos el mtodo
verificarEstadoBateria en miAutoRapido. Puesto que el Auto hereda de
Vehiculo, podemos utilizar los mtodos definidos en el Vehculo en los objetos
del Auto.

Generalizaciones
Repasemos todo lo que hemos aprendido sobre la programacin orientada a
objetos en Java hasta ahora.

Clase: un modelo para el funcionamiento de una estructura de datos.


Constructor: instruye a la clase a configurar el estado inicial de un objeto.
Objeto: instancia de una clase que almacena el estado de una clase.
Mtodo: Conjunto de instrucciones que se pueden llamar a un objeto.
Parmetro: valores que se pueden especificar al crear un objeto o llamar a un
mtodo.
Valor de retorno: especifica el tipo de datos que devolver un mtodo
despus de ejecutarse.
Herencia: permite que una clase utilice la funcionalidad definida en otra clase.

12

Vous aimerez peut-être aussi