python OOP(2)
调用方法有两种形式
实例调用
直接调用后序参数即可
类调用
调用时需要先加上实例
示例
class test1:
def pt(self,txt): #定义函数
test1.txt=txt
print(self.txt)
x=test1() #定义实例
x.pt('test') #实例调用
test1.pt(x,'test1') #类调用
定制被继承的方法
首先需要说明默认继承是你如果不去重载那么就是父类的,如果重载那么全部重来
比如继承构造如果不重载我们继承的就是父类的构造方法
示例
class test2:
def __init__(self,x,y):
test2.x=x
test2.y=y
def __str__(self):
return 'x=%d y=%d' %(test2.x,test2.y)
x1=test2(1,2)
class test3(test2):
def __str__(self):
return 'y=%d x=%d' %(test3.y,test3.x)
x2=test3(1,2)
print(x1)
print(x2)
但是我们如果想子类扩充一些父类的构造的话,按照原来的套路我们需要把父类的再写一遍而不是直接补充
这里我们可以定制被继承的方法
说的这么高大上实际上就是把被继承的方法复读一遍。。。。
示例
class test2:
def __init__(self,x,y):
test2.x=x
test2.y=y
def __str__(self):
return 'x=%d y=%d' %(test2.x,test2.y)
x1=test2(1,2)
class test3(test2):
def __init__(self,x,y,z):
test2.__init__(self,x,y)
test3.z=z
def __str__(self):
return 'y=%d x=%d z=%d' %(test3.y,test3.x,test3.z)
x2=test3(1,2,3)
print(x1)
print(x2)
这也可以用在别的地方
示例
class test2:
def __init__(self,x,y):
test2.x=x
test2.y=y
def pt(self):
print('x=%d y=%d' %(test2.x,test2.y))
x1=test2(1,2)
class test3(test2):
def __init__(self,x,y,z):
test2.__init__(self,x,y)
test3.z=z
def pt(self):
test2.pt(self)
print( 'z=%d' %(test3.z))
test2.pt(self)
x2=test3(1,2,3)
x1.pt()
x2.pt()
输出(省略x,y,z)
1 2
1 2
3
1 2
这种方法好像对于运算符重载来说么得用,好像因为运算符直接return?(存疑)
接口定义(目前太菜完全不理解为啥这么做)
在父类中定义一个预计要在子类中出现得对象函数
示例
class test4:
def pt(self):
self.pt1()
class test5(test4):
def pt1(self):
print('这是一个接口?')
x3=test5()
x3.pt()
首先在父类中定义了一个子类得pt接口输出用子类得pt1()
然后定义有pt1的子类
然后定义子类的对象
直接调用这个接口
python OOP(2)的更多相关文章
- Python OOP(1):从基础开始
本文旨在Python复习和总结: 1.如何创建类和实例? # 创建类 class ClassName(object): """docstring for ClassNam ...
- <转>Python OOP(1):从基础开始
转自 http://www.cnblogs.com/BeginMan/p/3510786.html 本文旨在Python复习和总结: 1.如何创建类和实例? # 创建类 class ClassNam ...
- Python OOP(面向对象编程)
一OOP的作用 在Python中,类是面向对象设计(OOP)的主要工具.通过使用类这种工具,OOP可以: 1.分解代码,最小化代码的冗余. 2.通过定制现有的代码,来编写新的程序,而不用在原处进行修改 ...
- python>oop
oop即Object Oriented programming,面向对象编程 何为编程:特定的语法+数据结构+算法 编程范式就是从经验中总结的套路: 面向过程编程 适用于简单的脚本,一次任务是极好的, ...
- javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点
主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...
- Python OOP面向对象
一.什么是面向对象的程序设计 1.面向过程 程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是 ...
- Python OOP 面向对象
1.Python实现OOP可以概括为三个概念: 继承:基于Python属性查找 多态:在x.method中,method的意义取决于x的类型 封装:方法和运算符实现行为,数据隐藏是一种惯例 2.委托: ...
- python oop培训文档里面的 正宗oop、多个函数间反复return传参、多个文件无限复制粘贴扣字、无效废物滑稽类4种方式的例子。(2)
把文档里面说的几种范式发出来. 4种编程范式实现一个人吃喝拉撒长身体的代码.语法很简单,思想模拟了所有程序员写代码时候的代码规划设计想法. 0.我不反对复制粘贴的写法,可以百度搜索复制粘贴网上现有的, ...
- Python OOP知识积累
目录 目录 前言 对象 类 面向对象 Python 面向对象编程三个基本特征 封装 继承 继承的作用 泛化与特化 实现继承的方式 多重继承 多态 方法多态 最后 前言 Python是一个功能非常强大的 ...
- python oop __slots__方法
动态语言python 可以在程序运行的情况下给class加上功能.具体为 #引入一个 from types import MethodType #方法 #然后 s.set_age = MethodTy ...
随机推荐
- 音乐播放器之myeclipse项目
音乐播放器: 这个音乐播放器是用myeclipse打开的项目.假设有问题记得改掉文件的路径名.还有假设图片不显示也可能是图片的路径名不正确,如音乐无法播放也可能是路径名不正确.总之这个游戏有文件的引用 ...
- Oracle 11g密码过期问题及解决方案
问题: 在自用的一个系统里,连接的是本地自建的一个数据库.用sqldeveloper登录数据库.提示如下图: 提示:密码过期 解决方案: 密码过期一般存在两种可能: 由于Oracle中默认在defau ...
- git log 常用选项
git log 常用选项 -p 按补丁格式显示每个更新之间的差异. jiqing@Ubuntu:/home/wwwroot/default/5hao/sheep$ git log -p commit ...
- ThinkAndroid框架
ThinkAndroid简介 ThinkAndroid是一个免费的开源的.简易的.遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单.快速的进行 Android应用程序的开发,包 ...
- ZOJ1450 Minimal Circle 最小圆覆盖
ZOJ1450 给定N个点(N<=100)求最小的圆把这些点全部覆盖 考虑对于三角形,可以唯一的找到外接圆,而多边形又可以分解为三角形,所以对于多边形也可以找到唯一的最小覆盖圆. #includ ...
- vs code 快速生成vue 模板
vs code 快速生成vue 模板 1.使用快捷Ctrl + Shift + P唤出控制台,然后输入snippets并选择.(或 文件>首选项>用户代码片断里面,输入 vue.json ...
- vue中父组件传数据给子组件
父组件: <template> <parent> <child :list="list"></child> //在这里绑定list对 ...
- bzoj 1914: [Usaco2010 OPen]Triangle Counting 数三角形【叉积+极角排序+瞎搞】
参考:https://blog.csdn.net/u012288458/article/details/50830498 有点神啊 正难则反,考虑计算不符合要求的三角形.具体方法是枚举每个点,把这个点 ...
- Spark之RDD的定义及五大特性
RDD是分布式内存的一个抽象概念,是一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,能横跨集群所有节点并行计算,是一种基于工作集的应用抽象. RDD底层存储原理:其数据分布存储于多台机器上 ...
- mysql机制总结
Innodb和myisam最大的不同就是 innodb支持事物 采用了行锁 myisam 采用了表锁 默认就使用了表锁 表锁:速度快 并发小 发生锁冲突高 开销小 行锁:速度慢 并发高 发生锁冲突低 ...