面向对象是目前主流的编程方法。通过面向对象,可以将系统有效的隔离,使得程序容易维护和扩展。在这节课里,我们会先开发一个简易的待办清单来退回面向对象的好处。
代办清单
我们在学习生活中经常要安排处理很多事情。这些事情如果没有被整理后,很容易忘掉。终端版的待办事项就是为了解决这个问题实现。
我们首先定义个Task类:
这个类定义了一个taskList实例属性,拥有:几个方法。同时,为了所有的备忘事项通过方法存储到磁盘里。
接着,我们来使用这个类:
我们首先实例化了一个 Todo类。接着用循环不断监听用户的输入。程序根据用户的输入调用todo对象的不同方法。
在这个项目里,我们复习了第六章学习的文件系统,将待办清单存储到磁盘,这样数据就不会丢失了。在大型系统里,我们会把数据保存到更专业的数据库中。
在类中,和两个方法我们定义成了私有方法,通过这种方式。我们把数据的底层存储和上层使用隔离开,这样使用类的人就不会关注这些内部细节了。
面向对象在游戏里的应用
面向对象在游戏里的使用就更普遍了,我们来用python模拟一下王者荣耀的亚瑟和安其拉。
我们定义了一个hero类,这个类包含 life_value aggre_value 两个属性,分别表示生命值和攻击值。attack方法根据自己的aggre_value属性的值扣减敌人血量。
类和类用来表达亚瑟和安其拉。这两个类复写了方法。让亚瑟和安其拉拥有不同的技能。
英雄的攻击技能会首先调用skill方法展示自己的技能,然后执行公共的扣血动作。
通过面向对象,将系统的公共部分和具体实现部分做到了很好的隔离,小朋友们是不是也有这种感觉啦?
经过了这么久的终端编程,是不是很乏了?下节课,我们就进入图形编程了。我们写的代码也终于可以有一张漂亮的脸了,加油!
阿达老师-孩子身边的编程专家
完整课程请关注阿达老师,主页里有完整的课程目录和观看地址
领取专属 10元无门槛券
私享最新 技术干货