博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 重写、重用、重载
阅读量:6465 次
发布时间:2019-06-23

本文共 895 字,大约阅读时间需要 2 分钟。

重用

重用是用于在对象的概念中,实现代码的重用性

在继承角度,在子类继承父类之后,重新使用父类属性方法即是代码的重用

在组合角度,在一个类中以另外一个类的对象作为数据属性,提高代码的重用性

重用的方式:

   继承:

            方式一:指名道姓的应用某一个类中的函数(无关继承,访问函数不存在自动传值)

                例如:CollegePeople.__init__(self, name, age, sex)

            方式二:使用内置方法super(),返回特殊对象访问属性(严格依赖mro列表,存在自动传值)

                例如:super().__init__( name, age, sex)

   组合:通过为某一个对象添加属性的方式,间接将两个类进行关联,减少类与类代码冗余

class Foo:xxx = 222class Bar:yyy = 111obj = Foo()b = Bar()obj.attr = Bar()obj.a = bobj.xxxx #调用Foo内属性obj.attr.yyyy #调用Bar内属性

重写

重写用于继承概念下,子类继承父类需要同名的不同函数,即可修改重写同名方法。

例如:

class Parent: # 定义父类def myMethod(self):print '调用父类方法'class Child(Parent): # 定义子类def myMethod(self):print '调用子类方法'c = Child() # 子类实例c.myMethod() # 子类调用重写方法

重载

重载是,函数或者方法有相同的名称,但是参数列表不相同(类型不同,数量不同,位置不同)的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

python的实现过程中可能存在重载,但是在Python的呈现使用中不存在重载的概念。

原因:python 可以接受任何类型的参数,而对那些缺少的参数设定为缺省参数即可解决问题。即,python中参数传递时候的*arg和**kwargs

转载于:https://www.cnblogs.com/ZKPython/p/10735883.html

你可能感兴趣的文章
ClickStat业务
查看>>
DMA32映射问题
查看>>
POJ 1269 Intersecting Lines(判断两直线位置关系)
查看>>
MSSQL数据库跨表和跨数据库查询方法简(转)
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
梯度下降(Gradient descent)
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
Android快速开发常用知识点系列目录
查看>>
EJB2的配置
查看>>
最容易理解的对卷积(convolution)的解释
查看>>
《机器学习实战》知识点笔记目录
查看>>
完美解决NC502手工sql的查询引擎排序及合计问题
查看>>
PE文件之资源讲解
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
git review报错一例
查看>>
《信息安全系统设计基础》 课程教学
查看>>
Linux平台下使用rman进行oracle数据库迁移
查看>>
全栈工程师学习Linux技术的忠告
查看>>