欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python3 系列之 面向对象篇

程序员文章站 2022-05-14 09:49:44
面向对象的三大特性:继承、封装和多态 Python 做到胶水语言,当然也支持面向对象的编程模式。 封装 继承 多态 总结 封装、继承和多态是面向对象中的重要思想,对于 Python 这种高级语言,虽然很多地方从语法上可以不用面向对象的思想,但是对于项目构建来说,面向对象是基本要求,这样做显然是很有必 ......

面向对象的三大特性:继承、封装和多态

python 做到胶水语言,当然也支持面向对象的编程模式。

封装

class userinfo(object):
    lv = 5

    def __init__(self, name, age, account):
        self.name = name
        self._age = age
        self.__account = account

    def get_account(self):
        return self.__account

    @classmethod
    def get_name(cls):
        return cls.lv

    @property
    def get_age(self):
        return self._age


if __name__ == "__main__":
    userinfo = userinfo("hippie", 26, 123456)
    print(dir(userinfo))
    print(userinfo.__dict__)
    print(userinfo._age)
    print(userinfo.get_account())
    print(userinfo._userinfo__account)
    print(userinfo.lv)
    print(userinfo.get_age)

继承

class userinfo(object):
    lv = 5

    def __init__(self, name, age, account):
        self.name = name
        self._age = age
        self.__account = account

    @property
    def get_account(self):
        return self.__account


class userinfo2(userinfo):

    @property
    def get_account(self):
        return super().get_account + 10


if __name__ == "__main__":
    a = userinfo("hippie", 26, 123456)
    print(a.get_account)

    b = userinfo2("hippie", 26, 123456)
    print(b.get_account)

    print(isinstance(a, userinfo))
    print(isinstance(a, userinfo2))

多态

class user(object):
    def __init__(self, name):
        self.name = name

    def printuser(self):
        print(self.name)


class uservip(user):
    def printuser(self):
        print("hello vip:" + self.name)


class usergeneral(user):
    def printuser(self):
        print("hello user:" + self.name)


if __name__ == "__main__":
    vip = uservip("hippie")
    vip.printuser()

    vip = usergeneral("jock")
    vip.printuser()

总结

封装、继承和多态是面向对象中的重要思想,对于 python 这种高级语言,虽然很多地方从语法上可以不用面向对象的思想,但是对于项目构建来说,面向对象是基本要求,这样做显然是很有必要的。

相关参考