POO I – Clases y objetos

Java es un lenguaje orientado a objetos, por ende, nos provee de muchas características para poder trabajar con este paradigma, como clases y objetos.

Una clase es una plantilla que especifica las características (atributos) y comporamientos (métodos) de una entidad del mundo real. Por ejemplo, pensemos en un perro; de este perro podemos pensar en las siguientes características:

  • Nombre
  • Raza
  • Color
  • Peso

Ahora representemos esas características en la clase Perro:

public class Dog {

String name;

String race;

String color;

float weight;

}

Métodos

Hasta el momento tenemos nuestra clase Perro que tiene algunas características: nombre, raza, color y peso. Pero, ¿el perro no tiene comportamientos? Claro que sí, por eso debemos definirle sus comportamientos básicos y estos no son más que métodos. Un método (o también llamado función en otros lenguajes) define el comportamiento de una determinada entidad y que representamos en clases.

Volviendo a nuestra clase Perro, podemos deducir los siguientes comportamientos básicos:

  • Comer
  • Ladrar
  • Correr
  • Dormir

Definamos estos comportamientos en la clase Perro:

public class Dog {

String name;

String race;

String color;

float weight;

public void eat() {

System.out.println("Estoy comiendo, jugamos más tarde");

}

public void bark() {

System.out.println("Guarf! guarf!");

}

public void run() {

System.out.println("Abran pasoooo");

}

public void sleep() {

System.out.println("zZzZzZzZzZzZzZzZ");

}

}

Como vemos un método básico tiene la siguiente estructura:

<modificador de acceso> <tipo de retorno> <nombre>(<parametro> ...)

El modificador de acceso es una palabra reservada que indica desde qué alcance o distancia una variable o método puede ser accedida y llamada respectivamente. Esto lo veremos en el próximo capítulo en Encapsulamiento. El tipo de retorno es el tipo de dato que ese método devuelve. Si el método no devolverá nada, el tipo de retorno debe ser void. Si un método devuelve por ejemplo un entero, el tipo de retorno será int. Veamos un ejemplo antes de proseguir:

public int cuadrado(int numero) {

return numero * numero;

}

La función anterior devuelve el cuadrado de un número. La función recibe un valor de tipo int y devuelve la multiplicación del mismo número por sí mismo, esto es, el cuadrado.

Entendido este tema, prosigamos. Creemos otra clase llamada Main para crear un objeto de la clase Perro:

public class Main {

public static void main(String[] args) {

Perro perro = new Perro();

perro.comer();

perro.dormir();

}

}

Como se puede observar, un objeto se crea a partir de una clase mediante la palabra reservada new. Esta palabra indica que se creará una nueva instancia de ese tipo. Si ejecutamos el programa, vemos la salida:

Estoy comiendo, más tarde jugamos.

ZzzZzZzZzZzZzZzZzZzZ

Vamos a hacerlo más interesante y asignémosle un nombre al perro. Para esto basta referenciar al atributo name mediante el operador punto.

perro.name = “Firulais”;

Comprobemos que el nombre ha sido asignado correctamente con una ligera modificación al main:

System.out.printf(“Hola, soy %s“, perro.name);

Y vemos que imprime:

Hola, soy Firulais.

Hoy hemos visto qué son las clases, atributos y métodos. En el próximo capítulo veremos más sobre programación orientada a objetos. Nos vemos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s