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中的pydoc模块和distutils模块
Apr 13 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
python 读写、创建 文件的方法(必看)
Sep 12 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
机器学习python实战之决策树
Nov 01 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
基于Python实现的微信好友数据分析
Feb 26 Python
python使用插值法画出平滑曲线
Dec 15 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
Python decorator拦截器代码实例解析
Apr 04 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的单引号和双引号 字符串效率
2009/05/27 PHP
php 中英文语言转换类
2011/09/07 PHP
深入apache host的配置详解
2013/06/09 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
简介JavaScript中的push()方法的使用
2015/06/09 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
js闭包学习心得总结
2018/04/17 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
Django中的session用法详解
2020/03/09 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
中国入世承诺
2014/04/01 职场文书
高一学生期末评语
2014/04/25 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang