【Python】面向对象:类与继承简单示例

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!

 

posted @ 2020-06-26 22:06  止一  阅读(238)  评论(0编辑  收藏  举报