POO II - Clases y objetos

En el artículo anterior, vimos lo que era la programación orientada a objetos desde un punto de vista neutral, sin entrar en detalles de implementación en un lenguaje. En esta parte de la serie, veremos cómo aplica la POO en el lenguaje Java. Para ello, veremos un ejemplo real. Pensemos en un automóvil (el que nos guste). Ahora pensemos en algunas características; un auto tiene una serie de placa, un número de puertas, un número de neumáticos, un color, un año de fabricación y si tiene un mecanismo de tracción. Bien, si lo representamos en Java, lo que tenemos ahora se vería así:

public class Automovil {

    String seriePlaca;
    int numeroPuertas;
    int numeroRuedas;
    String color;
    String anyo;
    boolean traccion;
}
Ya tenemos los atributos de nuestra clase. Pero falta agregarle comportamiento, así que pensemos en las acciones de un auto. Un auto acelera y frena, básicamente es lo que hace. Por lo tanto, nuestra clase quedaría así:
public class Automovil {
    
    String seriePlaca;
    int numeroPuertas;
    int numeroRuedas;
    String color;
    String anyo;
    boolean traccion;
    
    public void acelerar() {
        System.out.println("¡Acelerando!");
    }
    public void frenar() {
        System.out.println("Frenando...");
    }
    public void imprimirInfo() {
        System.out.println("Placa: " + seriePlaca +
            "\nN° puertas: " + numeroPuertas +
            "\nN° ruedas: " + numeroRuedas +
            "\nColor: " + color +
            "\nAño: " + anyo +
            "\nTracción: " + traccion);
    }
}
Como vemos, acelerar(), frenar() e imprimirInfo() son los comportamientos del auto, que en Java se denominan métodos. El método imprimirInfo solo imprimirá los atributos del auto creado. Ahora viene la pregunta:

¿Cómo utilizar esa clase?

La forma de utilizar es una clase es creando objetos a partir de esa clase. Como dijimos en el artículo anterior una clase es una plantilla de la cual se crearán objetos. La forma de crear objetos en Java es por medio del operador new el cual indica que se creará una nueva instancia de la clase que se describe a continuación. Para crear un Lamborghini, haríamos:

Automovil lamborghini = new Automovil();

Una vez que hemos instanciado la clase Automovil y por ende obtenido un objeto de tipo Automovil, podemos cambiar sus atributos y jugar con sus métodos. Por ejemplo vamos a ponerle una serie de placa ABC123Z, un color rojo, un número de puertas 2, un número de ruedas 4, un año 2015, y sin tracción:
Automovil lamborghini = new Automovil();
lamborghini.seriePlaca = "ABC123Z";
lamborghini.numeroPuertas = 2;
lamborghini.numeroRuedas = 2;
lamborghini.color = "rojo";
lamborghini.anyo = "2015";
lamborghini.traccion = false;
Ya tenemos un Lamborghini muy cool, ahora hay que hacerlo acelerar, imprimir su información y finalmente frenar:
lamborghini.acelerar();
lamborghini.imprimirInfo();
lamborghini.frenar();
Las llamadas a los métodos de un objeto se realizan mediante el operador punto (.), el cual denota todas las posesiones (atributos y métodos) de ese objeto.

Poniendo todo junto


Para probar el funcionamiento de nuestro código, solo debemos de crear un método main. El método main es un método único y especial en Java. Este método nos provee un punto de inicio y entrada de un programa, por ende, para ejecutar un programa debemos de proveer un método main.
public class Prueba {

    public static void main(String[] args) {
        Automovil lamborghini = new Automovil();
        lamborghini.seriePlaca = "ABC123Z";
        lamborghini.numeroPuertas = 2;
        lamborghini.numeroRuedas = 2;
        lamborghini.color = "rojo";
        lamborghini.anyo = "2015";
        lamborghini.traccion = false;

        lamborghini.acelerar();
        lamborghini.imprimirInfo();
        lamborghini.frenar();
    }

}
Si compilamos y ejecutamos obtenemos la siguiente salida:

¡Acelerando!
Placa: ABC123Z
N° puertas: 2
N° ruedas: 2
Color: rojo
Año: 2015
Tracción: false
Frenando...

Como ves, crear un objeto y personalizarlo es muy sencillo, solo basta un punto y acceder al atributo. Pero esto, no es nada recomendable y en el próximo artículo veremos por qué.


!Nos vemos!.

Comparte esto:

0 comentarios:

Publicar un comentario