这篇文章主要介绍了python中如何使用定制类,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
一、类的定制
说回重庆人,重庆人除了继承中国人的属性方法外,还可以创造(属于自己)的属性或方法,如籍贯开头是重庆市(属性)、会说重庆话(方法)。
上面的操作,都可以说是重庆人在继承的基础上又做了定制。
同样,子类也可以在继承的基础上进行个性化的定制。
包括:
l 创建新属性、新方法。
l 修改继承到的属性或方法。
简而言之:类的定制,不仅可以让子类拥有新的功能,还能让它有权修改继承到的代码。
二、定制,新增代码
定制,可以新增代码,我们可以在子类下新建属性或方法,让子类可以用上父类所没有的属性或方法。
来个例子:
class Chinese: eye = 'black' hair = 'black' def eat(self): print('吃饭,选择用筷子。') class Chongqing_people(Chinese): # 类的继承 place = '重庆' # 类的定制 def speak(self): # 类的定制 print('我会讲重庆话。') zhenxiaofan = Chongqing_people() print(zhenxiaofan.eye) print(zhenxiaofan.hair) # 父类的属性能用 print(zhenxiaofan.place) # 子类的定制属性也能用 zhenxiaofan.eat() # 父类的方法能用 zhenxiaofan.speak() # 子类的定制方法也能用 终端显示 black black 重庆 吃饭,选择用筷子。 我会讲重庆话。
一、定制,重写代码
重写代码,是在子类中,对父类代码的修改。
来个例子:(普通话的“玩”,在重庆话里是“耍”)
# 原代码 class Chinese: def __init__(self, place = '中国', do = '玩'): self.place = place self.do = do def greet(self): print('你好!欢迎到%s来%s。' % (self.place, self.do)) zhenxiaofan = Chinese() zhenxiaofan.greet()
# 提示:初始化方法的定制,和一般的实例方法的定制是一样的。 # 进行继承和定制后代码 class Chinese: def __init__(self, place = '中国', do = '玩'): self.place = place self.do = do def greet(self): print('你好!欢迎到%s来%s。' % (self.place, self.do)) class Chongqing_people(Chinese): def __init__(self, place = '重庆', do = '耍'): Chinese.__init__(self, place, do) zhenxiaofan = Chongqing_people() zhenxiaofan.greet() 终端显示 你好!欢迎到中国来玩。 # 原代码的显示 你好!欢迎到重庆来耍。 # 定制代码的显示
这便是定制:在复用代码的基础上,又能满足个性化的需求。
类的继承和定制,从某个角度来看,和人类的发展史很像:每一代人都站在了上一代人的肩膀上,在“继承”了上一代的的同时,又“定制”出专属这一代的发展。可以说:我们今天所享受到的便利和乐趣,来源于一代又一代的人的传承和创新。
总结:
1. 类的继承,节省了很多的时间,基于父类基础的属性方法,进行小的修正改变而满足新的功能,这里利用类的继承与重写是很方便的。
2. 不要被局限住,孩子虽然长得像爸爸但是还是可以有不一样的地方,父子之间的关系可以很好的诠释理解子类的继承与重写,需要灵活应用。
3. 子类继承父类,抄写下来要修改的方法,然后修改方法内部的具体代码即可。
感谢你能够认真阅读完这篇文章,希望小编分享python中如何使用定制类内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。