17.类与对象

类与对象基础

类的划分:具有相同的特征

对象(实例):类中一个个体

特征:有静态和动态的,静态是属性值,动态的是方法

实例:

大佬的静态特征: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()

 

你可能感兴趣的