文档章节

python 面向对象构造函数和析构函数

明月知心
 明月知心
发布于 2016/11/23 23:24
字数 312
阅读 42
收藏 1

__init__(self) 初始化一个函数,构造一个实例对象

__del__ (self)删除这个对象,永远在最后执行

__call__(self) 当执行对象()时会调用该方法

class foo:
    def __init__(self):
        pass
    def __del__(self):           #永远最后执行
        print('销毁了')
    def __call__(self):
        print("call方法")
f1=foo()
f1()                #相当于执行 f1.__call__() 一般在开启服务时使用
f1.__call__()

类的继承和调用父类构造函数方法

必须出现在子类构造方法内

  • 父类.__init__(self)                      #叫做 经典类或基类
  • class 父类(object) 
    super(子类,self).__init__()          #叫做 新类 或派生类

经典类(基类)的继承

class Father:                       #经典类继承
    def __init__(self):
        print('Father的构造函数')
    def good(self):
        print('艰苦朴素')
class Son(Father):                   #继承父类和父类的构造函数
    def __init__(self):
        print('争强好胜')
        Father.__init__(self)        #继承父类的构造函数
son=Son()
son.good()                           #继承父类的函数

新类(派生类)的继承

#调用派生类的构造方法
class Father(object):                      
    def __init__(self):
        print('Father的构造函数')
class Son(Father):                   #继承父类和父类的构造函数
    def __init__(self):
        print('争强好胜')
        super(Son,self)__init__()    ##调用派生类的构造方法

 

© 著作权归作者所有

共有 人打赏支持
上一篇: python 异常处理
下一篇: python 面向对象二
明月知心
粉丝 6
博文 158
码字总数 71882
作品 0
武汉
程序员
私信 提问
D06——C语言基础学PYTHON

C语言基础学习PYTHON——基础学习D06 20180821内容纲要:  面向对象初级学习     1 面向对象     2 类       (1)封装       (2)继承       (3)多态    ...

m1racle
08/22
0
0
初学Python——面向对象编程

一、面向对象 or 面向过程? 编程范式:   编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令...

学霸初养成
07/09
0
0
python初体验(2)——面向对象篇

在学习python的面向对象时,我始终参照的是c++的面向对象机制。相对而言,python的面向对象确实更简单一些。 基础: 整数也被作为对象。前面就看到过,说所有的东西都是对象,包括函数。 属于...

晨曦之光
2012/06/06
72
0
php 魔术方法 构造析构

构造函数: construct() 构造函数,在创建新的类对象是加载,参数可以自己定 示例: class a{ public function construct(){ echo "new class a"; }}$obja=new a(); 结果: new class a 如果...

蛋定龙
2015/10/16
6
0
Never Call Virtual Functions during Constructio...

代码 1. java class Bird { public Bird() {show();} public void show() {System.out.println("hey, I'm a bird.");}} class Eagle extends Bird {private String name = "littleEgale"; pu......

coda
2011/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移动端Appium自动化测试框架的优势

众所周知,现在市面上的移动端操作系统已被Android和IOS占领,其中Android的份额更是在80%以上。那么面对市面上林林总总的自动化测试框架和工具,为什么说Appium在自动化测试框架的统治级优势...

程序猿拿Q
24分钟前
1
0
设计模式 之 观察者模式

设计模式 之 观察者模式 场景 场景比较简单,当一个对象的状态发生改变时,自动通知所有依赖(或观察)它的对象。 比如:发布/订阅 原理:发布者存储N个订阅者的对象信息,当发布者发布消息时...

GMarshal
28分钟前
1
0
linux 常用

netstat -tunlp |grep 8080 查看8080 占用 netstat -tunlp 用于查看所有的端口号的进程情况

west_coast
32分钟前
2
0
Bytom信息上链教程

比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ##用比原链(Bytom)实现信息上链 很多了解比原链的都知道,比原链是专注...

比原链Bytom
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部