Python轻松入门-26 类和对象
来源:互联网 发布:淘宝客线下推广海报 编辑:程序博客网 时间:2024/05/16 11:56
视频教程下载链接:http://pan.baidu.com/s/1bpafogn配套教程下载:http://pan.baidu.com/s/1qYdI6q4这节课,我们来讲解类和对象。那么,类是啥?最简单的对类的解释就是:类是由某种特定的数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例,不明白不要紧,接下来我们就来详细介绍。在Python中类的关键字是class,假如现在我们来创建一个小游戏,首先需要创建一个敌人类Enemy,它有一个类成员life表示它的生命值,我们把它初始值设为3:class Enemy:life = 3然后我们可以为敌人类添加一个函数来模拟当敌人遭受攻击时的场景: def attack(self):print("掉一滴血")self.life -= 1这里的self相当于C++或者Java中的this指针,也就是说,它代表的是敌人这个类的本身。所当调用这个函数时,会将自己的生命值减1。现在我们再创建一个函数,来检查敌人是否活着: def checkLife(self):if self.life <= 0:print("我屎了")else:print("我还活着,来打我呀!")所以现在我们已经有了一个完整的敌人类,它可以被攻击,然后,我们也可以判断它是否还活着。现在我们来调用它,比如说直接调用attack函数:attack()但是你看,编译器提示错误,这是因为:如果想要访问类中的任何成员,比如说成员变量或者成员函数,你需要通过另一种特别的方式,就是创建一个对象。创建对象实际上和创建变量非常相似,这里我们声明一个对象enemy1,然后通过Enemy类对它进行赋值,接着,我们就可以通过enemy1来调用函数attack:enemy1 = Enemy()enemy1.attack()所以以上代码的意思就是说,enemy1是通过类Enemy实例化后的一个对象,所以这个对象就可以调用它本身所具有的功能函数attack。现在我们不妨运行下:图 5‑1这里就会打印出掉一点血,符合我们的预期,现在我们来检查敌人是否还活着:enemy1.checkLife()运行:图 5‑2输出我还活着,因为现在还剩下2滴血。这里我想说明为什么大家都会使用类来编写程序的原因。实际上,每一个对象都是类的一个实例,所以一个对象和另一个对象它们之间是相互独立的。比如说,这里我创建另一个Enemy对象enemy2,它被攻击了3次:enemy2 = Enemy()enemy2.attack()enemy2.attack()enemy2.attack()enemy2.checkLife()在运行之前,我们先对这段代码解释一下:enemy1和enemy2它们之间是相互独立的,它们初始的时候都有3滴血,所以当我攻击enemy1时,enemy2并不会受到影响,这里我们运行:图 5‑3你看,enemy1只被攻击了1次,所以它还活着,enemy3被攻击了3次,掉了3滴血所以它屎了。所以这就是大家使用类和对象来编写计算机应用程序的原因,类只是对事物的抽象,这样我们就可以根据现实生活中各种各样的情况来实例化类,从而产生具有不同数据值的对象,这就是面向对象编程的核心。更多精彩内容尽在视频中! 本文固定链接:http://www.oxox.work/web/python/class-object/ | 虚幻大学
查看原文:http://www.oxox.work/web/python/class-object/
0 0
- Python轻松入门-26 类和对象
- UML轻松入门--类和对象(3)
- 转载【UML轻松入门--类和对象】 - [系统分析与设计]
- 统一建模语言UML轻松入门(3)――静态建模:类和对象
- 统一建模语言UML轻松入门(3)――静态建模:类和对象
- python的类和对象---python入门学习(四)
- Python轻松入门-09 Range函数和While循环
- Python轻松入门-10 注释和break语句
- Python轻松入门-34 列表查找最大和最小值
- Python轻松入门-02 数字
- Python轻松入门-05 列表
- Python轻松入门-12 函数
- Python轻松入门-21 集合
- Python轻松入门-23 模块
- Python轻松入门-29 继承
- Python轻松入门-40 异常
- Python轻松入门-41 线程
- python入门笔记-类和对象定义及调用
- Ceph osd启动报错osd init failed (36) File name too long
- 基于CNN的性别、年龄识别及Demo实现
- bzoj2733 [HNOI2012]永无乡
- Android 日常开发中,两个非常实用的布局技巧
- 总结170309
- Python轻松入门-26 类和对象
- 用androidStudio签名打release包失败解决方案
- 单一职责原则 开闭原则
- java项目word文件转html文件
- 初入博客感言
- PAT 1110
- PHP面试题总结归纳(二)常会问到四道算法函数
- Android基础—.9 图片讲解
- 观察者模式(Observer Pattern)