¿Qué es una Clase?

En el mundo real, a menudo encontrarás muchos objetos individuales del mismo tipo. Puede haber miles de otras bicicleta en existencia, todas de la misma marca y modelo. Cada bicicleta se construyó a partir del mismo conjunto de planos y, por lo tanto, contiene los mismos componentes. En términos orientados a objetos, decimos que su bicicleta es una instancia de la clase de objetos conocidos como bicicletas. Una clase es el modelo a partir del cual se crean los objetos individuales.

La siguiente clase de Bicicleta es una posible implementación de una bicicleta:

class Bicicleta {

    int cadencia = 0;
    int velocidad = 0;
    int marcha = 1;

    void cambiarCadencia(int nuevaCadencia) {
         cadencia = nuevaCadencia;
    }

    void cambiarMarcha(int nuevaMarcha) {
         marcha = nuevaMarcha;
    }

    void acelerar(int incremento) {
         velocidad = velocidad + incremento;   
    }

    void frenar(int decremento) {
         velocidad = velocidad - decremento;
    }

    void imprimirEstado() {
         System.out.println("cadencia:" +
             cadencia + " velocidad:" + 
             velocidad + " marcha:" + marcha);
    }
}
 

La sintaxis es el lenguaje de programación de Java, pero el diseño de esta clase se basa en la discusión previa de los objetos de la bicicleta. Los campos cadencia, velocidad y marcha representan el estado del objeto, y los métodos (cambiarCadencia, cambiarMarcha, frenar, etc.) definen su interacción con el mundo exterior.

 Puede haber notado que la clase de Bicicleta no contiene un método main. Eso es porque no es una aplicación completa; es solo el modelo de las bicicletas que se pueden usar en una aplicación. La responsabilidad de crear y usar nuevos objetos Bicicleta pertenece a alguna otra clase en su aplicación.

Aquí hay una clase ControladorDeBicicleta que crea dos objetos Bicicleta separados e invoca sus métodos:

class ControladorDeBicicleta {
 
    public static void main(String[] args) {

        Bicicleta bicicleta1 = new Bicicleta();
        Bicicleta bicicleta2 = new Bicicleta();

        bicicleta1.cambiarCadencia(50);
        bicicleta1.acelerar(10);
        bicicleta1.cambiarMarcha(2);
        bicicleta1.imprimirEstado();

        bicicleta2.cambiarCadencia(50);
        bicicleta2.acelerar(10);
        bicicleta2.cambiarMarcha(2);
        bicicleta2.cambiarCadencia(40);
        bicicleta2.acelerar(10);
        bicicleta2.cambiarMarcha(3);
        bicicleta2.imprimirEstado();
 
    }
}

La salida imprime la cadencia, la velocidad y la marcha para las dos bicicletas:


    cadencia:50 velocidad:10 marcha:2
    cadencia:40 valocidad:20 marcha:3

Comentarios