python面向对象_详谈类的继承与方法的重载


Posted in Python onJune 07, 2017

python面向对象_详谈类的继承与方法的重载

1. 类的继承与方法的重载

python面向对象_详谈类的继承与方法的重载

python面向对象_详谈类的继承与方法的重载

上面就是先定义了一个类A,然后由定义了一个类B,B继承了类A,这样B就有了A的非私有属性和方法。

class Washer:
  company='ZBL'
  def __init__(self,water=10,scour=2):
    self._water=water #不想让用户直接访问实例变量,可以标志成私有
    self.scour=scour
    self.year=2000#这是生产日期
    #属性包装,将water属性包装成方法,用户使用water时实际是访问的方法
  @staticmethod #定义一个静态方法
  def spins_ml(spins):
    return spins*0.4
    print('company:',Washer.company)
    #print('year:',self.year)#错误,静态方法不能使用实例属性
  @classmethod
  def get_washer(cls,water,scour):#cls相当于实例方法中的self,调用是不用提供这个参数
    return cls(water,cls.spins_ml(scour))#cls代表类名Washer,故不是硬编码(改类名是不用改cls,若cls用类名代替也对,但若改类名这个地方也需要改动)
  
  @property
  def water1(self):#如果用户使用 实例.water相当于访问这个方法,而不是真的访问属性
    return self._water
  
  @water1.setter
  def water1(self,water):
    if 0<water<=500:
      self._water=water
    else:
      print('set Failure!')
  @property
  def total_year(self):
    return 2017-self.year
  
  def set_water(self,water):
    self.water=water    

  def set_scour(self,scour):
    self.scour=scour    

  def add_water(self):
    print('Add water:',self._water)

  def add_scour(self):
    print('Add scour:',self.scour)

  def start_wash(self):
    self.add_water()
    self.add_scour()
    print('Start wash...')
    
class WasherDry(Washer):# 建立一个新类,继承自Washer
  def dry(self):#新类中可以定义只属于子类的新方法
    print('Dry cloths...')
  def start_wash(self):#在子类中新定义与父类同名的方法就是方法的重载
    self.add_scour()
    self.add_water()
    
if __name__=='__main__':
##  print(Washer.spins_ml (8))
##  w=Washer()
##  print(w.spins_ml(8))
##  w=Washer(200,Washer.spins_ml(8))
##  w.start_wash()
  w=WasherDry()
  w.start_wash()
  print(w.scour,w.company)
  w.dry()

以上这篇python面向对象_详谈类的继承与方法的重载就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单谈谈python中的Queue与多进程
Aug 25 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
python获取代码运行时间的实例代码
Jun 11 Python
python学习开发mock接口
Apr 28 Python
Django框架实现的分页demo示例
May 25 Python
使用pandas读取文件的实现
Jul 31 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
python如何调用百度识图api
Sep 29 Python
python安装第三方库如xlrd的方法
Oct 31 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 Python
Python Socket多线程并发原理及实现
Dec 11 Python
Elasticsearch 基本查询和组合查询
Apr 19 Python
windows下python连接oracle数据库
Jun 07 #Python
Python使用剪切板的方法
Jun 06 #Python
Python实现单词翻译功能
Jun 06 #Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 #Python
python实现的正则表达式功能入门教程【经典】
Jun 05 #Python
Python中easy_install 和 pip 的安装及使用
Jun 05 #Python
详解Python pygame安装过程笔记
Jun 05 #Python
You might like
页面乱码问题的根源及其分析
2013/08/09 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
javascript处理table表格的代码
2010/12/06 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Python秒算24点实现及原理详解
2019/07/29 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
2014年预备党员学习两会心得体会
2014/03/17 职场文书
小学生期末评语
2014/04/21 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书