Clases y objetos

Las clases y los objetos son parte de lo que comúnmente se denomina programación orientada a objetos (OOP), que es una manera distinta de organizar nuestro código en comparación con la programación estructurada.

Asi se crea una clase:

class clase{
   private:
	   int n;
	public:
	   clase(){          //Constructor
		   contador = 0;
		}
	   void uno(int n){  //Método uno
		   contador = n;
		}
		int dos(){        //Método dos
		   contador++;
		}
		int tre(){        //Método tres
		   return (contador);
		}
}

El constructor también se puede escribir así: clase():contador(0){}, donde contador es una propiedad de la clase.

Así se usa una clase:

clase c1,c2;  //Instanciamos 2 clases
c1.dos();
c2.uno(8);
Serial.println(c1.tres());  //Imprime 1
Serial.println(c2.tres());  //Imprime 8

Una clase no se llama directamente sino que se crea una instancia a partir de la clase de modo que el objeto creado hereda todos los metodos y propiedades de la clase que instancias. En Arduino tenemos las siguientes clases:

1. String

La clase String es parte del núcleo desde la versión 19 del IDE y permite manipular cadenas de una manera compleja

Métodos de Stream
MétodoDescripción
substring()Extrae una parte de una cadena
trim()Borra los espacios delante y detras de una cadena
length()Devuelve el largo de la cadena
charAt()
concat()Concatena dos cadenas
replace()Reempaza ciertos caracteres
remove()Borra ciertos caracteres
reserve()
indexOf()
lastIndexOf()
startWith()
endsWith()
getBytes()
setCharAt()
toCharArray()
toInt()Convierte a Int
toFloat()Convierte a Float
toLowerCase()Convierte a minusculas
toUpperCase()Convierte a mayusculas
Operadores de Stream
OperadoresDescripción
[]Acceso a caracteres individuales
+Concatenar
+=Append

2. Stream

Es la clase base para las secuencias basadas en caracteres y binarios. Algunas librerias que usan Stream son:

Métodos de Stream
MétodoDescripción
available()
read()
flush()
find()
findUntil()
peek()
readBytes()
readBytesUntil()
parseInt()
parseFloat()
setTimeout()