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 模块名
    为什么要使用静态方法呢
    优于静态方法主要来存放逻辑性的代码,本身和类以及实例对象没有交互
    也就是说,在静态方法中,不会涉及到类中方法和属性的操作
    数据资源能够得到有效的充分利用
    从方法定义的形式可以看出来
    类方法、实例方法、静态方法对比:
    1.类方法的第一个参数是类对象 cls 进而去引用类对象的属性和方法 必须用装饰器
    @classmethod来进行修饰
    2.实例方法的第一个参数必须是self,通过这个self可以去引用类属性或者实例属性,
    若存在相同名称实例属性和类属性的话,实例属性的优先级最高
    3.静态方法不需要定义额外的参数,若是要引用属性的话,
    则可以通过类对象或者是实例对象去引用即可 必须用装饰器 @staticmethod来修饰

  • 相关阅读:
    HDU Problem 1811 Rank of Tetris【拓扑排序+并查集】
    POJ Problem 2367 Genealogical tree【拓扑排序】
    HDU Problem 2647 Reward【拓扑排序】
    HDU Problem 1285 确定比赛名次【拓扑排序】
    HDU Problem HDU Today 【最短路】
    HDU Problem 3665 Seaside【最短路】
    HDU Problem 一个人的旅行 【最短路dijkstra】
    HDU Problem 1596 find the safest road【最短路dijkstra】
    Beyond Compare文本合并进行内容替换要注意什么
    用这些工具都可以比较代码的差异
  • 原文地址:https://www.cnblogs.com/clearlove007/p/14270404.html
Copyright © 2011-2022 走看看