zoukankan      html  css  js  c++  java
  • 多态

    property:

      property:是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值

    多态:

      1,多态:指一种事物有多个形态 

    2,为什要用多态

    用基类创建一套统一的规则,强制子类去遵循(使用抽象类实现),

    这样便可以在不用考虑对象具体类型的前提下而直接使用对象下的方法

    import abc

    class Animal(metaclass=abc.ABCMeta): 

      @abc.abstractmethod

      def talk(self):

      pass

    classmethod:

       绑定方法:用classmethod装饰器装饰的方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入):

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

         为类量身定制——》类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)

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

         为对象量身定制——》对象.boud_method(),自动将对象当作第一个参数传入

         (属于类的函数,类可以调用,但是必须按照函数的规则来,没有自动传值那么一说)

      

    staticmethod:

        非绑定方法:用staticmethod装饰器装饰的方法

         不与类或对象绑定,类和对象都可以调用,但是没有自动传值那么一说。就是一个普通工具而已

        注意:与绑定到对象方法区分开,在类中直接定义的函数,没有被任何装饰器装饰的,都是绑定到对象的方法,可不是普通函数,

        对象调用该方法会自动传值,而staticmethod装饰的方法,不管谁来调用,都没有自动传值一说

  • 相关阅读:
    IOS开发——01_第一个OC程序
    01_iOS开发需要准备什么?
    正则表达式随笔
    .net4.6版本前设置window子窗口位置主窗口闪烁
    [CF1486D] Max Median
    [CF1487D] Pythagorean Triples
    [CF1487E] Cheap Dinner
    [CF1490E] Accidental Victory
    [CF1490F] Equalize the Array
    [CF1490G] Old Floppy Drive
  • 原文地址:https://www.cnblogs.com/tianyu529/p/8856051.html
Copyright © 2011-2022 走看看