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 这种高级语言,虽然很多地方从语法上可以不用面向对象的思想,但是对于项目构建来说,面向对象是基本要求,这样做显然是很有必要的。
相关参考
上一篇: 大型购机避坑指南:屏幕参数详细解读
下一篇: Android 仿简书搜索栏实现方法