zoukankan      html  css  js  c++  java
  • 面向对象的属性与方法

    类的静态属性:通常可以让实例化对象以数据属性的形式来调用定义的特定方法(比如用来计算面积、体积等 通常与类的数据属性绑定self)

    用关键字 @property  来修饰

    类方法:通常与类的信息相绑定(cls),可以用类来调用方法和自己的属性 ,不一定非要实例化一个对象来实现

    用关键字 @classmethod 来修饰

    静态方法:不与数据属性或者函数方法任一绑定,支持参数的自定义选择,作为类的工具包来使用,

                    可以使用类名或者实例化对象来调用,与普通方法相比,若为普通函数,则实例化对象无法直接调用该函数(对象默认就是一个字典存储属性了)

    用关键字 @cstaticmethod 来修饰

     1 class Romm:
     2 
     3     language='python'
     4     def __init__(self,length,width,heigh,name,addre):
     5         self.chang=length
     6         self.kuan=width
     7         self.gao=heigh
     8         self.yezhu=name
     9         self.dizhi=addre
    10 
    11     @property
    12     def ti_ji(self):
    13          # print(self.chang*self.kuan*self.gao )
    14          return  self.chang*self.kuan*self.gao
    15 
    16     def xing_xi(self):
    17         print('这是%s的%s长是%s宽是%s高是%s'%(self.yezhu,self.dizhi,self.chang,self.kuan,self.gao))
    18 
    19     @classmethod
    20     def speak(cls,name):
    21         print('hello everyone %s'%cls.language,name)
    22 
    23     @staticmethod
    24     def show(name):
    25         print('%s :NO one can achieve anything without effort! '%name)
    26 
    27 r1=Romm(10,10,5,'小明','私人单元')
    28 r1.xing_xi()
    29 print(r1.ti_ji)
    30 Romm.speak('Dingest')
    31 r1.show('eds')
    32 Romm.show('strfen')
  • 相关阅读:
    安卓ADB学习笔记
    css样式和定义的class都没问题,但样式却没生效
    Linux文件系统
    bat批处理下如何像shell一样将命令执行的效果赋值给变量
    windows下svn post-commit的实现
    windows下安装subversion
    nginx sendfile 相关知识
    centos6.9下 svn 1.7.10版本 编译安装
    Django问题 Did you rename .....a ForeignKey
    Django:cookie和session相关问题
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9233883.html
Copyright © 2011-2022 走看看