1. __init__()函数:
'''
类A中的 __init__()函数相当于默认构造函数
在实例化A的对象时一定会被调用,这里实例化的时候
将str进行初始化赋值,这样类A中的其他函数就可以
通过self进行调用参数str
'''
class A(object):
def __init__(self, str):
self.str = str
print("类A中的初始化函数")
def fun(self):
print(f'str: {self.str}')
if __name__ == '__main__':
a = A('This is a test string')
a.fun()
2.继承
'''
这里的 B 继承了A中的方法func函数
'''
class A(object):
def __init__(self):
pass
def func(self):
print('类A中的func函数被类B继承')
class B(A):
pass
if __name__ == '__main__':
b = B()
b.func()
3. 重写
'''
这里的 B 重写了A中的方法func函数的同时
依然可以直接调用A中其他函数,其他函数不受影响
'''
class A(object):
def __init__(self):
pass
def func(self):
print('类A中的func函数')
def func_2(self):
print('类A中的func_2函数')
class B(A):
def func(self):
print('类B对类A中的func方法进行了重写')
if __name__ == '__main__':
b = B()
b.func()
b.func_2()
4.super()
'''
super()的功能是用于调用父类中的函数
当子类继承父类时,子类中的函数名如果和
父类中的函数名一样就无法辨别到底调用的
是谁的函数,super解决的正是这一问题,
super.__init__(B, self)表示的是调用
类B的父类,即类A中的函数__init__()
'''
class A(object):
def __init__(self):
print('类A中的初始化函数')
class B(A):
def __init__(self):
super(B, self).__init__()
print('类B中的初始化函数')
if __name__ == '__main__':
b = B()