Python面向对象实现方法总结


Posted in Python onAugust 12, 2020

总结

类的定义

很久以前,语言都是面向过程的,经过计算机科学家的探索,出现了面向对象。面向对象可以解释生活中很多东西。比如人,人就是个对象,有参数,比如器官,身高啥的,有方法,比如跑步,学习等。不扯那么多了。
对象就是类,在python中用class定义类。类里面有两大部分,一部分是属性,一部分是方法。比如,定义一个人对象。这个人的属性就是身高,体重,方法就是说话。

#定义人
class Person:
  #定义属性
  height=0
  weight=0

  #构造函数
  def __init__(self,h,w):
    self.height=h
    self.weight=w
  
  #定义方法
  def speak(self):
    print('I can speak!')

上面的代码就定义了一个Person类.

继承

定义了类之后,就要牵扯到继承这个事。说白了就是儿子继承父亲的家产(属性,方法),但儿子也可对属性进行添加,方法进行重写或增加等。

python继承很简单,格式是这样的

class Son(Parent)

通过这样的定义就有了一个继承类son,他会继承parent的everything。写段代码例子。

class Parent:
  money=0
  def __init__(self,m):
    self.money=m
    
  def makeMoney(self):
    print('i can make money!')

class Son(Parent):
  height=0
  def __init__(self,m,h):
    Parent.__init__(self,m)
    self.height=h
    
  def makeMoney(self):
    print('So did i!')
son=Son(20,1)
print(son.makeMoney())

继承后你可能想调用父类的方法,可以用super(Son,son).makeMoney()调用。

上面是单继承的例子,多继承类似,在此就不再赘述

私有变量

这个东西只能在类里使用,不能通过实例化对象调用。

定义的时候在变量名字前加__

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用PyGame模块播放声音的方法
May 20 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Python实现图片拼接的代码
Jul 02 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
Python List cmp()知识点总结
Feb 18 Python
python编写微信公众号首图思路详解
Dec 13 Python
Django实现图片上传功能步骤解析
Apr 22 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
Python实现封装打包自己写的代码,被python import
Jul 12 Python
Python3 用matplotlib绘制sigmoid函数的案例
Dec 11 Python
Python命名空间及作用域原理实例解析
Aug 12 #Python
python将字典内容写入json文件的实例代码
Aug 12 #Python
Python调用jar包方法实现过程解析
Aug 11 #Python
如何用python免费看美剧
Aug 11 #Python
Pythonic版二分查找实现过程原理解析
Aug 11 #Python
Python3合并两个有序数组代码实例
Aug 11 #Python
Python基于gevent实现文件字符串查找器
Aug 11 #Python
You might like
用PHP生成静态HTML速度快类库
2007/03/18 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
学习ExtJS border布局
2009/10/08 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
python绘制圆柱体的方法
2018/07/02 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
求职简历中自我评价
2014/01/28 职场文书
综治维稳工作汇报
2014/10/27 职场文书
村干部任职承诺书
2015/01/21 职场文书
杭白菊导游词
2015/02/10 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python