zoukankan      html  css  js  c++  java
  • python复习概念__oop中

    析构方法的概述:当一个对象被删除或者被销毁时,python解释器也会默认调用一个方法,
    这个方法为__del()__方法,也称析构方法

    析构方法总结:
    1.当整个程序脚本执行完毕后会自动调用__del__方法
    2.当对象被手动销毁时也会自动调用__del__方法
    3.析构函数一般用于资源回收,利用__del__方法销毁对象回收内存等资源

    在python中展现面向对象的三大特征:封装、继承、多态
    封装:指的是把内容封装到某个地方,便于后面的使用
    封装需要:
    把内容封装到某个地方
    从另外一个地方去调用被封装的内容
    对于封装来说 起始就是使用初始化构造方法将内容封装到对象中,然后通过对象直接
    或者self来获取被封装的内容

    继承:和现实生活当中的继承是一样的:也就是子可以继承父的内容【属性和行为】
    (爸爸有的儿子都有,相反,儿子有的爸爸不一定有)
    所以对于面向对象的继承来说,起始就是将多个类共有的方法提取到父类中
    子类仅需继承父类而不必一一去实现
    这样就可以极大的提高效率,减少代码的重复编写,精简代码的层级结构,便于拓展

    class 类名(父类):
      '''
      子类就可以继承父类中公共的属性和方法
      '''
      pass

    __mor__:查询执行顺序,显示类的继承关系(类名.__mor__)


    python有多继承,有广度优先和深度优先
    类传递总结:类的传递过程中,我们把父类又称为基类,子类又成为派生类,
    父类的属性和方法可以一级一级的传递到子类

    重写:就是在子类中,有一个和父类相同的方法,在子类中的方法会覆盖掉父类中同名的方法
    为什么要重写,父类的方法已经不满足子类的需要,那么子类就可以重写父类或者完善父类的方法
    supper():自动找到父类,进而调用方法,假设继承了多个父类,那么会按照顺序逐个去找,然后再调用

    多态:顾名思义就是多种状态、形态,
    就是同一种行为对于不同的子类【对象】有不同的行为表现。

    要想实现多态 必须要有两个前提需要遵守:
    1、继承:多态必须发生再父类和子类之间
    2、重写:子类重写父类的方法

    多态有什么用?
    1.增加程序的灵活性
    2.增加程序的扩展性

    类属性:就是类对象所拥有的属性,它被所有类对象的实例对象所共有,类对象和实例对象都可以访问
    实例属性:实例对象所拥有的属性,只能通过实例对象访问

    类属性通过类对象去修改,不可以通过实例对象对类属性进行修改,那只是覆盖

    类方法:类对象所拥有的方法,用@classmethod来进行修饰,对于类方法,
    第一个参数必须是类对象,一般以cls作为第一个参数,类方法可以通过类对象,实例对象调用
    静态方法:类对象所拥有的方法,需要用@staticmethod来表示静态方法,静态方法不需要任何参数


    第三方库安装命令:pip install 模块名

    pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

    为什么要使用静态方法呢
    优于静态方法主要来存放逻辑性的代码,本身和类以及实例对象没有交互
    也就是说,在静态方法中,不会涉及到类中方法和属性的操作
    数据资源能够得到有效的充分利用


    从方法定义的形式可以看出来
    类方法、实例方法、静态方法对比:
    1.类方法的第一个参数是类对象 cls 进而去引用类对象的属性和方法 必须用装饰器
    @classmethod来进行修饰
    2.实例方法的第一个参数必须是self,通过这个self可以去引用类属性或者实例属性,
    若存在相同名称实例属性和类属性的话,实例属性的优先级最高
    3.静态方法不需要定义额外的参数,若是要引用属性的话,
    则可以通过类对象或者是实例对象去引用即可 必须用装饰器 @staticmethod来修饰

  • 相关阅读:
    SpringBoot-Shiro普通登录与MD5加密
    uniapp H5 微信浏览器右上角分享
    uniapp ios下 输入密码 中文输入法,无法获取到内容
    uniapp跳转支付宝支付
    uniapp中使用webp格式图片
    uniapp隐藏HTML5+RUNtime
    PC微信多开
    下载blob:https://的视频
    Python字符串转字典
    随机名字生成器
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/14263499.html
Copyright © 2011-2022 走看看