python-继承类执行的流程
2024-10-14 05:44:04
在读python数据机构与算法
, 发现了下面这个例子, 之前没有碰到过, 记录下来
In [17]: class A:
def f(self):
self.g()
def g(self):
print 'hello world'
....:
In [18]:
In [18]: class B(A):
def g(self):
print 'b is run'
....:
In [19]:
In [19]: b = B()
In [20]: b.f()
b is run
In [21]:
b.f()
的执行过程是:
- 由于b是B的实例对象, 所以首先在B类中查找f
- 没有的话去父类A找, 找到后执行f函数
- 接着在self.f函数中遇到
self.g()
- 由于self的值是一个类C的实例对象, 所以确定g的工作再从调用对象所属属性C类开始进行
- 由于C类里面有函数g的定义, 所以应该调用C类里面的self.g(),输出
b is run
这种通过动态约束确定调用关系的函数称为虚函数
最新文章
- String驻留带来的危害
- Struts2.X——搭建
- asp.net发送邮件
- 黑马程序员_ JAVA中的多线程
- c# 后台调前台的js
- 冲刺阶段 day5
- [cb] Unity Editor 添加右键菜单
- 利用cocostudio库函数 实现左右滑动的背包栏UI (cocos2d-x 2.2.0)
- style=";display";之后不能获取offsetHeight或clientWidth这类测量的值
- DW(六):polybase访问Azure Blob Storage
- Lua 的函数库 01
- UIPickerView基本用法
- <;转载>;解决div里面img的缝隙问题
- android自定义listview实现圆角
- DS18B20
- juqery easy ui 实现二级菜单联动
- 基于内容的图像检索技(CBIR)术相术介绍
- Linq学习(主要参考linq之路)----2LINQ方法语法
- java 字符串笔记
- 基于Aspectj 注解实现 spring AOP
热门文章
- MongoDB--架构搭建(主从、副本集)之副本集
- 关于MATLAB处理大数据坐标文件2017529
- Normalize.css源码注释翻译&;浏览器css兼容问题的理解
- 中奖概率算法(php 可用于刮刮卡,大转盘等抽奖算法)
- 【LeetCode】237. Delete Node in a Linked List
- “HK”的日常之ARP断网攻击
- CSS样式之选择器
- MOF编译器无法连接VMI服务器。原因可能是语义错误的解决方案
- Java 中基本类型和字符串之间的转换
- C# selecd,new,virtual,abstract与override