目录
1.前言
2.实验分析
2.1.创建类
2.2.实例化对象
2.3.实现功能:LED闪烁
3.完整代码
怎么样啊小伙子们,几天不见,甚(ou)是(ou)想(ou)念(ou);从刚开始就听到别人说arduino简单到只适合玩玩的话,但是arduino真的只是局限于此吗?今天带着大家来玩玩新东西:O(面向)O(大家没有的对象)P(编程)。
今天的实验环境贼简单,一块arduino裸板即可,因为我们只用到13引脚,而13引脚在板子上集成了一个LED。
首先是创建一个类,学过例如c++,java这些面向对象语言的应该都清楚类是什么,简单来说类:对象的所有集合,人类是一个类;对象就是类实例化的东西;人类是个很宽的概念,那你这个人就是一个实例化的对象,而你的身高,体重这些都是人类共有的属性;方法:举例说,人(对象)走路(方法)就是一个方法,也就是所有对象都会用到的能完成特定功能的函数。
那么类的好处很显然,你能有无穷多个对象了,前提是你身体(电脑性能)好。
class LED
{
public:
int pin;
bool state;
LED(int p)
{
pin=p;
pinMode(pin,OUTPUT);
}
void on()
{
if(state == LOW) state=HIGH;
digitalWrite(pin,state);
}
void off()
{
if(state == HIGH) state=LOW;
digitalWrite(pin,state);
}
};
class关键字告诉编译器你想要对象了,于是编译器就给你个对象的集合(类)让你随便挑随便选,然后你想要xiong大,腿长的(类的属性),于是你定义两个属性;那么LED类中的LED()就好比你挑对象之前,先告诉编译器你是男是女,然后你对对象有啥要求,即用来初始化对象的属性。然后你创建了两个方法,就比如说你想让TA来你身边;可能很扯但不抽象;
是的没错,类创建完之后,对象你就大约有∞多个了,这就好比女(LED,类名),小花(led,对象),13岁(wei fa的兄弟,(13),初始化对象的属性);
所以这句话就是说,我要创建个led对象,它属于LED类(具有LED类的所有属性和方法);然后这个对象引脚号为13;
void loop()
{
led.on();
delay(1000);
led.off();
delay(1000);
}
可以说很形象生动了吧,下面是完整代码:
class LED
{
public:
int pin;
bool state;
LED(int p)
{
pin=p;
pinMode(pin,OUTPUT);
}
void on()
{
if(state == LOW) state=HIGH;
digitalWrite(pin,state);
}
void off()
{
if(state == HIGH) state=LOW;
digitalWrite(pin,state);
}
};
void setup()
{
}
LED led(13);
void loop()
{
led.on();
delay(1000);
led.off();
delay(1000);
}
学没学会不重要,重要的是,如果你对【类】有了更深刻的理解,那这次就血赚不亏,更多精彩欢迎关注【菜小涛的CSDN】。