'''
马和驴-->螺

Gay,男人还是女人
·封装男人类,继承于Person,使之有阳刚风格的自我介绍,使之能咆哮
·封装女人类,继承于Person,使之有阴柔风格的自我介绍,使之能撒娇
·封装Gay类,使之同时具有男人和女人的特性
·令其咆哮,令其撒娇
·令其偏阳刚地进行自我介绍,令其偏阴柔地进行自我介绍
'''

'''
继承
重写
添加新的属性
添加新的方法
'''
class Person:
    def __init__(self, name, age, rmb):
        self.name = name
        self.age = age
        self.rmb = rmb

    # 自我介绍方法
    # self = 类的实例
    def tell(self):
        print("我是%s,我%d岁了,我有存款%.2f万元" % (self.name))


class Man(Person):
    # 新增属性
    def __init__(self,  name, age, rmb, sex="z"):
        # 调用父类的__init__方法1
        Person.__init__(self, name, age, rmb,)
        # 调用父类的__init__方法2
        # super(Man, self).__init__(name, age, rmb)
        self.sex = sex

    # 方法重写
    def tell(self):
        print("劳资乃%s,%s,劳资%d岁了,劳资有存款%.2f" % (self.name, self.sex, self.age, self.rmb))

    # 新增方法
    def roar(self):
        print("嗷!劳资天下第一!")


class Woman(Person):
    def tell(self):
        print("伦家乃%s,伦家%d岁了,伦家有存款%.2f" % (self.name, self.age, self.rmb))

    def sajiao(self):
        print("好讨厌了啦!")


# 多继承,同时继承Man和Woman的衣钵
# 对于同名方法,在前的类具有更高的优先级
class Gay(Woman, Man):
    # 什么都不写,都已经具有了Man和Woman的全部属性和方法
    pass


if __name__ == '__main__':
    m = Man("史泰龙", 40, 10000, sex="钢铁直男")
    m.tell()
    m.roar()

    w = Woman("凤姐", 30, 10000)
    w.tell()
    w.sajiao()

    g = Gay("库克", 50, 100000000000)
    g.tell()
    g.roar()
    g.sajiao()

results matching ""

    No results matching ""