Python 学习的一次日常记录-------子类方法重写

# 定义一个人的类
class Person(object):
    # 定义一个人类的实例属性
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 定义一个人类的info() 方法
    def info(self):
        print(self.name, self.age)


# 定义一个学生类
class Student(Person):
    # 定义学生类是实例属性
    def __init__(self, age, name, stu_no):
        # 继承人类的实例属性到学生类是实例属性中来
        super().__init__(name, age)
        # 定义学生类自有是实例属性
        self.stu_no = stu_no


# 定义一个老师类
class Teacher(Person):
    # 定义老师类的实例属性
    def __init__(self, age, name, techofyear):
        # 继承人类的实例属性到老师类属性中来
        super().__init__(name, age)
        # 定义老师类的自有的实例属性
        self.teachofyear = techofyear


# 实例化学生类对象
stu = Student('张三', 20, '1001')
# 调用学生类对象的info()方法
stu.info()
"""由上面看到的新实例的学生对象中的学号是没有输出的,就是学生父类(Person类)中的
info 方法已经满足不了学生类是自有属性的输出,这时我们必须考虑重写学生类的info方法
来满足学生的自有实例属性的输出========

如下,我们来重写学生和老师的info 方法
"""


# 定义一个人的类
class Person(object):
    # 定义一个人类的实例属性
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 定义一个人类的info() 方法
    def info(self):
        print(self.name, self.age)


# 定义一个学生类
class Student(Person):
    # 定义学生类是实例属性
    def __init__(self, age, name, stu_no):
        # 继承人类的实例属性到学生类是实例属性中来
        super().__init__(name, age)
        # 定义学生类自有是实例属性
        self.stu_no = stu_no
    # 重写学生类的 info() 方法
    def info(self):
        # 重写的学生方法还是需要父类中的原有方法,所有这里要继承过来
        super().info()
        # 把学生类中的自有方法加到自定义的info()方法中
        print(self.stu_no)


# 定义一个老师类
class Teacher(Person):
    # 定义老师类的实例属性
    def __init__(self, age, name, techofyear):
        # 继承人类的实例属性到老师类属性中来
        super().__init__(name, age)
        # 定义老师类的自有的实例属性
        self.teachofyear = techofyear
    def info(self):
        super().info()
        print(self.teachofyear)

stu2 = Student('张张张',22,'1002')

stu2.info()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值