Open 15175036183 opened 5 years ago
创建一个Person父类
class Person: def __init__(self,name=None,age=None,sex=None): #初始化父类的属性 self.name = name self.age = age self.sex = sex def __str__(self): #父类的方法 return "我的姓名:{0},我的年龄:{1},我的性别:{2}".format(self.name,self.age,self.sex)
子类Student继承父类Person 当子类继承父类时,子类的构造方法应该包含父类和子类共同的属性,在子类的初始化方法中,将父类的属性传递给父类,子类的属性赋值给子类。
class Student(Person): def __init__(self,name=None,age=None,sex=None,score=None): # Person.name = name #给父类传参的四种方式:1.父类.属性 # self.age = age #2.self.属性 # self.sex = sex # Person.__init__(self,name,age,sex) #3.父类.__init__(self,参数) super(Student,self).__init__(name,age,sex) #4.super(子类,self).__init__(参数) self.score = score def __str__(self): return"我的姓名:{0},我的年龄:{1},我的性别:{2},成绩:{3}".format(self.name,self.age,self.sex,self.score)
实例化子类并传递实参
stu = Student("Mary",21,'female',80) print(stu)
定义:多态的概念依赖于继承,函数的名称一样,参数不一样
class Animal: def run1(self): raise AttributeError('子类必须实现这个方法')
class People(Animal): def run(self): print('the people is running')
class Pig(Animal): def run(self): print('pig is walking')
peo1 = People() pig1 = Pig()
def func(a): #a这个参数没有类型限制,可以传入不同类型的值 a.run() func(peo1) #传递参数 func(pig1)
继承:子类继承父类,子类可以使用父类的属性和方法
多态的介绍
class Animal: def run1(self): raise AttributeError('子类必须实现这个方法')
class People(Animal): def run(self): print('the people is running')
class Pig(Animal): def run(self): print('pig is walking')
实例化对象
peo1 = People() pig1 = Pig()
def func(a): #a这个参数没有类型限制,可以传入不同类型的值 a.run() func(peo1) #传递参数 func(pig1)