Blog relacionado a la informática. Principalmente a la plataforma Arduino

Arduino Class

No hay comentarios

¿Que es una clase?

Una clase es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto devariables -el estado, y métodos apropiados para operar con dichos datos -el comportamiento. Cada objeto creado a partir de la clase se denomina instancia de la clase.

Las clases son un pilar fundamental de la programación orientada a objetos. Permiten abstraer los datos y sus operaciones asociadas al modo de una caja negra. Los lenguajes de programación que soportan clases difieren sutilmente en su soporte para diversas características relacionadas con clases. La mayoría soportan diversas formas de herencia. Muchos lenguajes también soportan características para proporcionar encapsulación, como especificadores de acceso.


¿Clase en Arduino?

En Arduino se pueden crear clases con la tipografía y sintaxis de C++, con la diferencia que los constructores no se invocan automáticamente en Arduino.

Desarrollare un ejemplo simple, en donde creare una clase llama Pin. La cual tendrá dos constructores uno con parámetro o otro sin parámetro, los cuales declararan un pin como salida. Ademas tendrá dos métodos uno llamado on que encenderá el pin, y el método off el cual apagara el pin.

Código de la Clase Pin
//Clase llamada Pin
class Pin{
  private:
    int pin;
  public:
    //Constructor sin parámetro
    Pin();
    //Constructor con parámetro
    Pin(int _pin);
    //Metodo on
    void on();
    //Metodo off
    void off();
};
//Constructor sin parámetro, declara el pin 13 como salida
Pin::Pin(){
  pin=13;
  pinMode(pin, OUTPUT);
}
//Constructor con parámetro, declara un pin como salida
Pin::Pin(int _pin){
  pin=_pin;
  pinMode(pin, OUTPUT);
}
//Metodo en donde enciende el pin
void Pin::on(){
  digitalWrite(pin, HIGH);
}
//Metodo en donde apaga el pin
void Pin::off(){
  digitalWrite(pin, LOW);
}


Código de un objeto de tipo Pin y declarado con el constructor sin parámetro.

//Se crea un objeto llamado "Objeto" de tipo Pin,
//el cual llama al constructor sin parámetro
Pin Objeto;
void setup() {
 
}

void loop() {
  //Se llama al metodo on y se enciende el led
  Objeto.on();
  //Pasan 100 milisegundos
  delay(100);
  //Se llama al metodo off y se apaga el led
  Objeto.off();
  //Pasan 100 milisegundos
  delay(100);

}


Código de un objeto de tipo Pin y declarado con el constructor con parámetro.
//Se crea un objeto llamado "Objeto" de tipo Pin
//El cual llama al constructor con parámetro
Pin Objeto(13);
void setup() {
 
}

void loop() {
  //Se llama al metodo on y se enciende el led
  Objeto.on();
  //Pasan 100 milisegundos
  delay(100);
  //Se llama al metodo off y se apaga el led
  Objeto.off();
  //Pasan 100 milisegundos
  delay(100);

}

No hay comentarios :

Publicar un comentario