您的位置:首页 > 产品设计 > UI/UE

【arduino面向对象编程】arduino只适合玩玩?来看看arduino怎么造对象......

2020-04-22 16:56 1201 查看

目录

1.前言
2.实验分析
  2.1.创建类   2.2.实例化对象   2.3.实现功能:LED闪烁
3.完整代码


1.前言

  怎么样啊小伙子们,几天不见,甚(ou)是(ou)想(ou)念(ou);从刚开始就听到别人说arduino简单到只适合玩玩的话,但是arduino真的只是局限于此吗?今天带着大家来玩玩新东西:O(面向)O(大家没有的对象)P(编程)。

2.实验分析

  今天的实验环境贼简单,一块arduino裸板即可,因为我们只用到13引脚,而13引脚在板子上集成了一个LED。


  首先是创建一个类,学过例如c++,java这些面向对象语言的应该都清楚类是什么,简单来说类:对象的所有集合,人类是一个类;对象就是类实例化的东西;人类是个很宽的概念,那你这个人就是一个实例化的对象,而你的身高,体重这些都是人类共有的属性;方法:举例说,人(对象)走路(方法)就是一个方法,也就是所有对象都会用到的能完成特定功能的函数。

  那么类的好处很显然,你能有无穷多个对象了,前提是你身体(电脑性能)好。

(1).创建类
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来你身边;可能很扯但不抽象;

  

(2).类的实例化对象
LED led(13);

  是的没错,类创建完之后,对象你就大约有∞多个了,这就好比女(LED,类名),小花(led,对象),13岁(wei fa的兄弟,(13),初始化对象的属性);

  所以这句话就是说,我要创建个led对象,它属于LED类(具有LED类的所有属性和方法);然后这个对象引脚号为13;

  

(3).实现功能:LED闪烁
void loop()
{
led.on();
delay(1000);
led.off();
delay(1000);
}

  
  

3.完整代码

  可以说很形象生动了吧,下面是完整代码:

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】。

  • 点赞 14
  • 收藏
  • 分享
  • 文章举报
菜小涛 发布了18 篇原创文章 · 获赞 193 · 访问量 1万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: