• python 面向对象


    一、构造函数、析构函数、私有、装饰器

    class My:#定义一个类

      def __init__(self):#构造函数,类在实例化的时候,会自动执行它,self本类对象 实例方法

              self.client=pymongo.MogonClient(host='11xxxx',port=27017)

              self.f=open('a.txt')

           def __del__(self):#析构函数,这个实例在被销毁的时候执行它,内存被回收的时候才会执行,常用来写数据库连接当程序不在用的时候执行析构函数关闭数据库

               self.client.close()

               self.f.close()

           def  __cry(self):#函数名或者变量名前面加__,这个函数或者变量就是私有,私有的只能在类里面用,出了类就不可以用了,好处是防止别人在类外面调用误修改,目的为了安全

               print('哇哇哇')

    m=My()#实例化

    m.__cry#__cry是私有函数出了类就不可以用了

    del m#可以用del删除变量

    @classmethod#装饰器,给函数添加新功能,不改变原来的函数

    def eat(cls):#class

    二、总结

    面向对象
    1、继承
    目的就是为了简化代码,减少重复代码。
    #修改父类的方法
    在父类方法的基础上修改,那你就先调用一下父类的方法就ok了。
    Base.__init__(self,ip,port)

    super().__init__(ip,port)
    2、静态方法、类方法、属性方法
    #实例方法
    正常定义的函数都是实例方法
    self
    #类方法
    1、不实例化,直接用类名调用
    2、它可以使用类变量,cls.xxx
    3、实例也可以直接通过self.xx来使用类方法
    4、类方法里面它是不能用这些实例方法和实例变量
    #静态方法
    就是一个普通的函数,只是定义在类里面而已。
    #用不了实例方法、用不了实例变量、也用不了类方法、类变量
    #也不需要实例化,直接类名调用即可。
    属性方法 加@porperty
    看起来像变量的一个函数。
    1、实例方法
    2、它不能有入参
    3、用它的时候,直接m.func,把它当做一个变量用就ok了,不需要加括号调用
    4、它是获取函数的返回值

    3、析构函数
    4、私有

    继承、封装、多态
  • 相关阅读:
    Bundle savedInstanceState的作用
    仿知乎程序 fragment的切换以及toolbar在不同页面下显示的menu不同
    LayoutInflater的inflate函数用法详解
    ListView之BaseAdapter的使用
    Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
    Android中的onActivityResult和setResult方法的使用
    Gson解析复杂的json数据
    Android Volley入门到精通:定制自己的Request
    Android Volley入门到精通:使用Volley加载网络图片
    Android Volley入门到精通:初识Volley的基本用法
  • 原文地址:https://www.cnblogs.com/morning1/p/9391130.html
Copyright © 2020-2023  润新知