zoukankan      html  css  js  c++  java
  • Python 3.x--面向对象编程(二)静态方法、类方法、属性方法

    该简单代码可展示@staticmethod、@classmethod、@property的基本使用方法:

     1 class Animal(object):
     2     name = "monkey"
     3     def __init__(self,name):
     4         self.name = name
     5 
     6     @staticmethod   #静态方法,使方法脱离类,只是名义上属于该类
     7     def doing(self):
     8         print("%s is %s"% (self.name,'running'))
     9 
    10     @classmethod   #类方法,参数只能获取类变量,不能获取实例变量
    11     def doing(self):
    12         print("%s is %s"% (self.name,'running'))
    13 
    14     @property   #属性方法,把一个方法变为静态属性
    15     def doing(self):
    16         print("%s is %s"% (self.name,'running'))
    17     @doing.setter   #设置doing方法,是doing方法可以传参
    18     def doing(self,dosomething):
    19         print("%s is %s"% (self.name,dosomething))
    20     @doing.deleter
    21     def doing(self):
    22         print("It had been removed...")
    23 
    24 #静态方法调用
    25 a = Animal("lion")
    26 a.doing(a)   #把a传给self参数
    27 
    28 #类方法调用
    29 a = Animal("lion")
    30 a.doing()
    31 
    32 #属性方法无参数直接调用
    33 a = Animal("lion")
    34 a.doing
    35 
    36 #属性方法有参数调用
    37 a = Animal("lion")
    38 a.doing = "hunting"
    39 
    40 #属性方法删除
    41 a = Animal("lion")
    42 del a.doing

    注:注释部分代码运行

  • 相关阅读:
    C++ 项目和资源导引
    C++ 类再探
    C++ 语句函数再探
    leetcode-174. Dungeon Game 地下城游戏
    34. Find First and Last Position of Element in Sorted Array + 二分
    leetcode-27. Remove Element删除元素
    git 使用入门
    MySQL数据库的启动与停止
    C++类型转换
    C++ 获取对象类型
  • 原文地址:https://www.cnblogs.com/rainowl-ymj/p/7200738.html
Copyright © 2011-2022 走看看