面向对象三大特性:
封装
:将数据进行封装到对象中,以供其他函数进行调用
继承
:提高代码复用性
多肽
:多种形态或多种状态
封装
- 下面的代码块我们可以看到:
- 在初始化方法中接收参数,类就接收这些参数
- 在调用的时候,先是实例化了一个对象,这个对象有实现初始化的属性
- 再把对象传入函数,就相当于把数据传到了函数中
class ags:
def __init__(self,k1,k2,k3):
self.k1=k1
self.k2=k2
self.k3=k3
def awe(arg):
print(arg.k1)
print(arg.k2)
print(arg.k3)
a = ags(1, 2, 3)
awe(a)
>> 1
>> 2
>> 3
继承
单继承
class FuncA: # 父类 基类
def f1(self):
print(1)
class FuncB(FuncA): # 子类 派生类
def f2(self):
print(2)
class FunC(FunB):
def f3(self): # 子类 派生类
print(3)
obj = FunC()
obj.f2() # 先从自己里面去找,找不到就往父级去找
>> 2
obj.f1()
>> 1
obj.f3()
>> 3
多继承
class FuncA: # 父类 基类
def f1(self):
print(1)
class FuncB: # 父类 基类
def f1(self):
print(2)
class FuncC(fa,foo):
def f3(self): # 子类 派生类
print(3)
obj = fc()
obj.f1()
>> 2
多肽
在python中由于原生支持多态,所有没有了特殊性,崇尚鸭子模型,python函数传参时无需指定类型
评论区