标签:封装 logs 类的方法 重用 格式 是什么 好处 alt 方法
面向对象的三大特性:封装,继承和多态
一 继承
1 什么是继承:1.1 什么是什么的关系。一个类是另一个类的子类。
1.2 继承是一种创新类的方式。新建的类可以继承一个或多个父类。父类又称为基类或超类,新建的类又称为派生类或子类
继承一个父类叫做单继承;继承多个父类叫做多继承。
2 继承的好处:减少代码的冗余,增强了代码的重用性。
二 继承的用法
super:调用父类的功能和方法
格式一:在子类的内部调用父类的属性和方法
class 父类名:
def 属性(self):
功能
class 子类名(父类名):
def 属性(self):
super().属性名
class A: def aa(self): print(11) class B(A): def aa(self): super().aa() b=B() b.aa()
在子类的内部调用父类的功能和方法可以不用传入参数,可以直接(super().属性名)就可以调用
格式二:在子类的外部调用父类的功能和方法
class 父类名:
def 属性(self):
功能
class 子类名(父类名):
pass
对象=子类名()
super(子类名,对象).属性()
# class A: # def aa(self): # print(11) # class B(A): # pass # b=B() # super(B,b).aa()
在子类外部调用父类的属性和方法是,必须要给super传入两个参数,一个是子类名,一个是对象名:super(子类名,对象).属性()
在多继承的时候,super继承的是第一个父类。
super:新式类调用父类的方法。super找到有该方法或属性的第一个父类。
# class People: # def __init__(self,name,age,sex): # self.name=name # self.age=age # self.sex=sex # class Nan: # pass # class Student(Nan,People): # def __init__(self,name,age,sex): # super().__init__(name,age,sex) # fang=Student(‘fang‘,‘男‘,18) # print(fang.name)
父类名.__init__(self):经典类调用父类方法和属性的方式。
# class People: # def __init__(self,name,age,sex): # self.name=name # self.age=age # self.sex=sex # class Nan: # pass # class Student(Nan,People): # def __init__(self,name,age,sex): # People.__init__(self,name,age,sex) # fang=Student(‘fang‘,‘男‘,18) # print(fang.name)
继承中子类可以继承父类的所有属性和方法
# class People: # def __init__(self,name,age,sex): # self.name=name # self.age=age # self.sex=sex # class Nan: # pass # class Student(Nan,People): # def __init__(self,name,age,sex): # People.__init__(self,name,age,sex) # fang=Student(‘fang‘,‘男‘,18) # print(fang.name)
当子类和父类中有同名的方法和属性时,一定是调用自己的。
如果想要调用父类的方法和属性时,需要借用super来调用。
对象剋有调用自己和父类的所有方法和属性,首先是调用自己的,自己没有在去调用父类的。
谁(对象)调用方法,self就会指向谁。
自己私有的方法叫做派生方法;自己私有的属性叫做派生属性。
从下到上叫做抽象,从上到下就叫做继承。
标签:封装 logs 类的方法 重用 格式 是什么 好处 alt 方法
原文地址:http://www.cnblogs.com/fangjie0410/p/7544538.html