封装、继承、多态

class Person(object):

    def __init__(self, name, age):
        self.name = name
        self.age = age


    def show(self):
        print("我是人秀")


# 继承父类的属性
class Student(Person):

    def __init__(self, name, age, sex):
        Person.__init__(self, name, age)
        self.sex = sex
        self.__height = 180

    def show(self):
        print("我是%s, 今年%s岁了, 是个 %s"%(self.name, self.age, self.sex))
        # Person.show(self)
        super(Student, self).show()
        print(self.__class__.mro())

    def set_height(self, new_height):
        self.__height = new_height

    def get_height(self):
        print("身高是: %s"%self.__height)


fucker = Student("小明", 30, "大力神")
print(fucker.show())

# 私有属性和私有方法
fucker.set_height(190)
fucker.get_height()


# 多态的定义
# 不同的子类对象调用相同的父类方法,产生不同的结果,可以增加代码外部的灵活性
# 前提:要有继承,子类要重写父类的方法

 

posted on 2020-03-06 22:19  zl666张良  阅读(71)  评论(0)    收藏  举报