使用一个例子去理解CLASS,类的内容(1)
2016-01-20 15:10
225 查看
有一天,一个QQ群里的朋友告诉我,他有个作业。
想实现以下的功能:
通讯录,可以:
1,增加一条记录
2,查询记录
3,显示所有记录
4,删除一条记录
5,更新一条记录
记录的内容包括:firstname,lastname,number,address。
之前呢,他用list列表,和流程的形式,实现了一个解决方案,现在想用类来实现,我真是教了他好久。
教的过程中,发现自己也很有收获,那么就记录一下吧。
1,我理解的类。
所谓的类,是真实的从现实生活中抽象出来的概念,定义是:拥有同样的属性,和同样的方法的实例抽象集合。
这话听起来就很难,那么我们就举个例子好了:人类。
人类就是一个类(这不是废话吗),
人类都有同样的属性:比如,身高,视力,体重。
人类都有同样的方法:比如,挥手,点头,走路。
在python中,类也是这样的概念,如果用伪代码定义一下,就是这样的
那么我们就定义了一个类,叫人类。
好,现在我们要定义一个实例,实例,就是符合类的标准的一个具体的例子
好,我成为了一个光荣的人类了!(好别扭),那么我就有了属性,就是身高
self是不用调用的,那么我们通过设置身高的属性,就把我的属性 身高的值,给定义了!
你明白了吗,所有实例都有:身高,这个属性,但是实例和实例的值,未必相同。
孙超.展示自己有多高(): 184
我又多了一个方法,叫展示自己有多高,后面的是输出,184
那么你现在有没有理解类,和实例呢?
想实现以下的功能:
通讯录,可以:
1,增加一条记录
2,查询记录
3,显示所有记录
4,删除一条记录
5,更新一条记录
记录的内容包括:firstname,lastname,number,address。
之前呢,他用list列表,和流程的形式,实现了一个解决方案,现在想用类来实现,我真是教了他好久。
教的过程中,发现自己也很有收获,那么就记录一下吧。
1,我理解的类。
所谓的类,是真实的从现实生活中抽象出来的概念,定义是:拥有同样的属性,和同样的方法的实例抽象集合。
这话听起来就很难,那么我们就举个例子好了:人类。
人类就是一个类(这不是废话吗),
人类都有同样的属性:比如,身高,视力,体重。
人类都有同样的方法:比如,挥手,点头,走路。
在python中,类也是这样的概念,如果用伪代码定义一下,就是这样的
class 人类(object): def 设置属性(self,输入身高): self.身高 = 输入身高 def 展示自己有多高(): print(self.身高)
那么我们就定义了一个类,叫人类。
好,现在我们要定义一个实例,实例,就是符合类的标准的一个具体的例子
孙超 = 人类()
好,我成为了一个光荣的人类了!(好别扭),那么我就有了属性,就是身高
孙超.设置属性(184)
self是不用调用的,那么我们通过设置身高的属性,就把我的属性 身高的值,给定义了!
你明白了吗,所有实例都有:身高,这个属性,但是实例和实例的值,未必相同。
孙超.展示自己有多高(): 184
我又多了一个方法,叫展示自己有多高,后面的是输出,184
那么你现在有没有理解类,和实例呢?
相关文章推荐
- Python3 持久化pickle模块
- 如果导入的项目只有源码,可以将其他项目中的.classpath 和 .project复制到根目录下即可。
- h5端呼起摄像头扫描二维码并解析
- html学习一(html简史及doctype)
- Visual C++ : H, Lib, DLL配置!
- Web Uploader图片上传 java实现
- jquery图片轮播,三种方式
- Xcode 报错: value of type InerfaceController does not conform to HKWorkoutSessionDelegate in assignmen
- 基础篇——数论基础
- 项目从mysql移植到SQL sqlserver问题汇总
- jeecg 弹出框 点击按钮回调父页面 返回值
- FreeChart柱状图中如何取消柱子的倒影
- Python入门
- 文件操作
- MD5加密
- NSIndexPath的初始化方法
- JAVA NIO 服务器(三)
- Leetcode@Jump Game II
- hadoop-运行hadoop jar hadoop-examples-1.2.1.jar wordcount /wc/input/ /wc/output/
- Pods的使用