• 面向对象小结


    面向对象:面向对象看就的是对象二字,就是比如在创造的时候,一些没有的对象也都可以创造出来。

    面向对象的优点有提高了扩展性,复用性,维护性。但也有缺点,缺点:写问题比面向过程复杂。

    对象:就是属性与方法的结合体。其中属性可以说是变量,方法可以说是函数。

    类就是一系列相同特征行为的对象的结合体,用class  加类名。类是一种抽象的概念,对象是确切存在的

    所以可以说先有对象再有类。

    类中有初始化方法__init__(self):是用于为对象的属性设置初始值的函数。

    执行过程:在创建对象时会申请新的内存空间用于保存对象数据,接着自动调用init函数

    初始化函数第一个参数必须是self。

    属性的查找顺序先是查找对象本身,然后再查找所在的类,没有再查找父类,再没有一直往上找,直到

    object。

    绑定方法

    1.绑定到对象的方法:没有被任何装饰器装饰的方法。

      在类中定义的函数默认都是绑定到对象的方法。

      特点:参数的第一个必须是self表示当前对象本身,使用对象来调用,调用时会自动传入对象

    2.绑定到类的方法:用classmethod装饰器装饰的方法。

      特点:参数的第一个必须是cls表示当前类本身,使用类名来调用,调用时会自动传入类。

    非绑定方法:

    用staticmethod装饰器装饰的方法

    特点:不与类或对象绑定,类和对象都可以调用,但是没有自动传值那么一说。就是一个普通函数。

    继承:就是一种关系,通过继承关系,一个对象可以直接使用另一个对象拥有的内容。也就是子类与父类的关系。

    好处:减少代码重复。

    使用:在类名后面的括号呢指定要继承的父类的名称,class 类名(父类名)

    派生:就是子类中有父类没有的内容

    覆盖:就是子类中有与父类相同的属性名称,可以将父类的内容覆盖重新定义

    经典类与新式类

    新式类就是继承object的,只在py3中,所以py3中出现的都是新式类

    经典类就是没有继承object的,只在py2中出现。

    所以要想写的代码兼容新式类和经典类,只需要在类名后面加括号,括号里面是object

    菱形继承:就是一个有多个父类,多个父类有个共同父类。在新式类中先深度再广度,最后找公有父类,根据mro列表来找。经典类是深度,一条路走完再换。

    组合就是一个类中以另一个类的对象作为数据属性,称为类的组合。

    鸭子类型:就是只长得像,叫声像,走路像,那就是鸭子。

    抽象类:就是没有实现题的函数。用abc模块配合接口使用。

  • 相关阅读:
    DQL 组合连接多个字段
    twig的 function 学习
    twig的 tests 学习
    贴一个自定义的 symfony 的表单皮肤 应用bootstrap效果
    symfony2使用form指定的checkbox,设置其属性disabled
    twig 模板设计 快速入门手册 中文
    MyEclipse中J2ee项目的一些Java文件报错!
    JavaScript的三种代码书写格式
    VB的学习及使用总结
    CSS优先级的说明
  • 原文地址:https://www.cnblogs.com/xinfan1/p/10895906.html
Copyright © 2020-2023  润新知