添加对象属性:
对象属性其实是通过继承init方法继承下来的
class Animal:
def __init__(self, age):
self.age = age
self.color = '灰色'
class Dog(Animal):
def __init__(self, name, age):
# 调用父类的init方法来继承父类的对象属性
super().__init__(age)
self.name = name
class Cat(Animal):
pass
练习:
声明人类有属性:名字、年龄、性别
声明学生类有属性:名字、年龄、性别、学号、分数
要求:创建人的对象的时候名字必须赋值,性别可以赋值也可以不赋值,年龄不能赋值;
创建学生对象的时候名字可以赋值可以不赋值,学号必须赋值,分数和性别、年龄不能赋值
class Person:
def __init__(self, name, sex='男'):
self.name = name
self.age = 0
self.sex = sex
class Student(Person):
def __init__(self, id, name='张三'):
super().__init__(name, '女')
self.id = id
self.score = 0
def main():
# 情景一:直接继承,不添加
# dog1 = Dog()
# print(dog1.age)
dog2 = Dog('才才', 3)
print(dog2.name)
print(dog2.age, dog2.color)
网友评论