zoukankan      html  css  js  c++  java
  • 实例方法、类方法和静态方法区别

    class A:
    # 实例方法:
      def f1(self):
        return 1
    # 类方法:
      @classmethod
      def f2(cls):
        return 2
    # 静态方法
      @staticmethod
      def f3():
        return 3
     
    a = A()
     
    a.f1() # => 1
    A.f1(a) # => 1
    a.f2() # => 2
    A.f2() # => 2
    a.f3() # => 3
    A.f3() # => 3
    • 实例方法(也叫成员方法,用于描述对象的固有行为):默认将当前实例对象传递为第一个参数
    • 类方法(类方法在定义时,方法在上面必须添加@classmethod):默认将当前类传递为第一个参数
    • 静态方法(静态方法在定义时,方法在上面必须添加@staticmethod): 没有默认的第一个参数

    实例方法调用格式:

      对象名.方法名()

    类方法调用格式:

      类名.方法名(参数) 推荐使用方法

      对象名.方法名(实参)不推荐使用

    注意:

    (1)类方法定义在勒种,不属于某个对象的具体行为,可以被所有对象共同使用的行为

    (2)类方法中不允许使用实例变量和实例方法,实例方法中允许使用类变量和类方法,推荐使用类名调用

    (3)实例方法中允许使用类变量和类方法

    静态方法调用格式:

      类名.方法名(实参) 推荐使用

      对象名.方法名(实参)不推荐使用

  • 相关阅读:
    Android smali 语法
    iOS 发布计费点测试
    how-to-stop-non-jailbroken-pirates-theory
    shell script
    文章收藏
    NB BAT批量读取图片文件属性
    JAVA LUHN
    MAC NDK 编译 Cocos2dx 问题
    Mac 下解压缩安装Android ndk bin 文件
    MVC Json输出调试信息
  • 原文地址:https://www.cnblogs.com/maplethefox/p/11615190.html
Copyright © 2011-2022 走看看