Python 面向对象

Python 是一门面向对象的设计语言,与此对应的就是面向过程编程与函数式编程

面向对象的一个优点就是更好的增强代码的重用性。

面向过程编程可以简单的理解为:重点在步骤,将一个任务完成所需要的所有步骤罗列出来

面向对象则可以理解为:重点在对象,打个比方的话就是在人,完成一项任务需要哪些人,这些人再去负责做具体的事情,将所有人组合在一起就完成了这个任务。

我们通过封装步骤为方法,封装方法为对象,来执行任务。真实世界中的事物从来都不是单独的,每个事物都有自己的类别,而函数是真实世界的映射,对于同一类的事物,同一类事物具有某些相同的特征,我们无需每次对同一类的事物创建相同的特征,而只需要创建一个大类,在这个大类中将某些共同属性封装在一起,然后通过继承的方式去使用这些属性或者方法,对于一些特殊属性特殊方法,我们只需单独创建它们即可——一切重复性的东西都没有必要存在两份。

下面这个例子定义了一个动物的大类,它具有一些共同属性和方法,以及两个继承它的猫类和狗类,它们具有各自特殊的方法。

 1 class Animal(object): # 定义父类animal
2
3 def __init__(self,name,sound): # 初始化属性 name sound
4
5 self.name = name
6 self.sound = sound
7 self.talk() # 一实例化即调用talk()方法
8
9 def talk(self): # 定义父类方法,用于打招呼
10 print("hello,i am %s,%s" % (self.name,self.sound))
11
12 class Dog(Animal): # 继承父类animal
13
14 def jump(self): # 增加子类新方法
15 print("i love jumping!")
16
17 class Cat(Animal): # 继承父类animal
18
19 def sleep(self): # 增加子类新方法
20 print("i love sleeping")
21
22
23 catt = Cat("cat","miao~miao~miao") # 实例化cat类,得到catt对象
24 catt.sleep() # 调用对象方法
25
26 dogg = Dog("dog","wang~wang~wang")
27 dogg.jump()

执行结果:

hello,i am cat,miao~miao~miao
i love sleeping
hello,i am dog,wang~wang~wang
i love jumping!

最新文章

  1. Node.js起步 -- (1)
  2. jquery实现可拖拽的div
  3. 李洪强-C语言3-数组
  4. codeforces 590B B. Chip 'n Dale Rescue Rangers(二分+计算几何)
  5. CentOS6.4 安装aria2多线程下载工具
  6. MaidSafe.net,一个完全去中心的化的云存储系统
  7. 新认识:SDF数据库
  8. springMVC中文乱码问题解决
  9. 个人作业1——四则运算题目生成程序(java代码,基于控制台)
  10. 使用JSON JavaScriptSerializer进行反序列化和序列化时报错,字符的长度超出了MaxJsonLength的长度
  11. Linuxc - C语言下return 0的意义
  12. sspanelv3魔改版邮件设置指南及常用配置
  13. Global Financial Applications uses the following Public tables
  14. matplotlib 绘图报错 RuntimeError: Invalid DISPLAY variable
  15. day02作业
  16. (最小生成树 Prim) nyoj1403-沟通无限校园网
  17. Effective Java 第三版——59. 熟悉并使用Java类库
  18. swift3 单例写法
  19. PHP array_unique()函数去除重复元素
  20. ansible使用1

热门文章

  1. vue3.0初尝试
  2. windows提权常用系统漏洞与补丁编号速查对照表
  3. LSTM机器学习生成音乐
  4. jQuery读取数据
  5. std::thread线程库详解(4)
  6. Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array(递推)
  7. 【noi 2.6_9284】盒子与小球之二(DP)
  8. 【noi 2.6_6045】开餐馆(DP)
  9. fzu2200 cleaning
  10. Tomacat目录以及服务器配置文件信息