1.格式
class 类名(父类1, 父类2, ...):
类体
2.单继承
- 子类继承父类后,可以增加方法,修改父类中的方法或是拓展父类中的方法
(1)增加方法
class mylist(list):
def front_insert(self, v):
self.insert(0, v)
lst=mylist()
lst.append(11)
print(lst)
lst.front_insert(55)
print(lst)
[11]
[55, 11]
(2)修改方法
class mylist(list):
def append(self):
print("1111")
lst=mylist()
lst.append()
1111
(3)拓展方法
class mylist(list):
def append(self, v):
super(mylist, self).append(v)
print("ok")
lst=mylist()
lst.append(11)
lst.front_insert(1)
print(lst)
ok
ok
[11, 1]
3.多继承
(1)示例
class father(object):
def __init__(self,name,age):
self.name=name
self.age=age
def print_info(self):
print(self.name, self.age)
class mother(object):
def mother_info(self):
print("我是mother类中的方法")
class son(father, mother):
pass
myson=son("hhh",22)
myson.print_info()
myson.mother_info()
hhh 22
我是mother类中的方法
(2)注意
- 子类会继承父类中的构造方法,所以在子类实例化时要注意
- 子类无法继承父类中的私有方法
- 当子类有多个父类,且不确定会不会有同名方法,则使用方法时会从左往右,深度优先搜索该方法,使用第一个搜索到的方法
A B
C(A) D(B)
F(CD)
a.F()
a.test()