zoukankan      html  css  js  c++  java
  • 面向对象【day07】:析构函数(六)

    二、析构函数

    一、概述

      析构函数,第一次听说这个函数的名称,那这个函数到底是干嘛的呢?什么才是析构函数呐?

      定义:在实例销毁的时候调用的函数

    二、析构函数定义

    2.1 定义

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class dog(object):
        "dog class"
     
        def __init__(self,name):
            self.name = name
     
        def sayhi(self):
            print("the dog {0} is sayhi".format(self.name))
     
        def __del__(self):     #定义析构函数
            print("del.....run...")
     
    = dog("alex")
    del d
    import time
    time.sleep(5)
     
    #输出
    del.....run...

    2.2 析构函数说明时候调用呢?

    其实每一个对象都是一个应用,就像每一个房间都有门牌号一样, 只要这个对象的引用被清空时,就会自动执行,就像上面的del d,其实python中有自动垃圾回收机制,会定时去的去回收一些被清空的应用,而析构函数就是在引用被清空之后会自动执行

    2.3 析构函数的作用?

    比如说server端接受很多客户端的连接,当你手动屏蔽你的sever端的时候,这个时候客户端还在正常的连接,如果sever端用类写的,你就可以delete server端的同时,在__del__()写一些东西,说去close掉很多客户端的连接。说白了,析构函数就是做一些程序的收尾工作。

  • 相关阅读:
    jarsigner 签名android apk
    弱网络环境下,网络性能优化
    android 中handler的用法分析 (二)
    Mac 上面使用SVN的攻略
    android studio 编译加速
    Https 公钥、私钥、证书
    android sudio 打包资料汇总
    android studio 中查找代码中的硬编码
    ./adb: cannot execute binary file:
    android OOM分析工具LeakCanary
  • 原文地址:https://www.cnblogs.com/luoahong/p/9895415.html
Copyright © 2011-2022 走看看