类与对象基础
类的划分:具有相同的特征
对象(实例):类中一个个体
特征:有静态和动态的,静态是属性值,动态的是方法
实例:
大佬的静态特征:IQ
大佬的动态特征:code
class dalLao:
IQ = 140 #这种属性值可能经常变化,不是写死的
def code(self): ##动态特征--类的方法(函数)
print("dalao can code")
大佬的属性值可能经常变化,所以需要用到__init__()函数
class daLao:
def __init__(self,iq):
self.iq = iq
def code(self):
print("大佬会写代码")
print("大佬的IQ{iq}".format(iq = self.iq))
t = daLao(140)
t.code()
继承
全继承:啥也不用做,全部继承,坐吃山空
部分继承:继承一部分,重写一部分,函数名不变,其他你随意。改写函数或新增函数,子类调用函数时调用了子类的函数,不会调用父类函数
class A:
def printA(self):
print("this is A")
class B(A):
def printA(self):
print("this is B")
#部分继承改写了父类的函数 子类的实例调用的是子类的函数
#不能再调用父类的函数
t = B()
t.printA()
多继承:有多个父类
class add_1:
def add(self):
print("我是第一个加法")
class add_2:
def add(self):
print("我是第二个加法")
class add(add_1,add_2): #一个类继承多个类,类里面的函数名相同,调用以定义类时继承类的顺序为准
pass
t = add()
t.add()
超继承:爸爸的我也要,还要有自己的个性
class A:
def printA(self):
print("this is A")
#你的我也要,但是我又要有自己的个性
#超继承
class B(A):
def printA(self):
super(B,self).printA() #超继承的语法格式 super(子类,self).调用函数 super函数通过参数子类找到父类
print("this is B")
t = B()
t.printA()