zoukankan      html  css  js  c++  java
  • 静态属性、类方法、静态方法

    class Room:
        tag=1
        def __init__(self,name,owner,width,length,heigh):
            self.name=name
            self.width=width
            self.owner=owner
            self.length=length
            self.heigh=heigh

     

    1、静态属性

    既可以访问类自己的属性也可以访问实例自己的属性

        @property
        def cal_area(self):
            # print('%s 住的 %s 总面积是 %s'%(self.owner,self.name,self.width*self.length))
            return self.width*self.length
    r1=Room('厕所','alex',100,100,10000)
    #像类一样访问自己的属性,所调用的函数不用加()
    print(r1.cal_area)

    2、类方法

    访问不到实例的属性,主要是给类用的

        @classmethod#(给类用的)
        def tell_info(cls,x):#cls参数接收的是类名,类名自动传入第一个参数
            print(cls)
            print('---->',cls.tag,x)#print('---->',Room.tag)
        # def tell_info(self):
        #     print('----->',self.tag)
    Room.tell_info(10)

    3、静态方法

    不能访问类属性和实例属性,只是类的工具包

        @staticmethod
        def wash_body(a,b,c):
            print('%s %s %s正在洗澡'%(a,b,c))
    
    Room.wash_body('alex','yuanhao','wupeiqi')
    
    r1=Room('公共厕所','yuanhao',1,1,10000)#实例(对象)只有数据属性没有函数属性(用于调类的函数属性)
    r1.wash_body('alex','yuanhao','wupeiqi')
  • 相关阅读:
    Oracle存储过程
    Oracle触发器
    Oracle伪列
    Oracle索引
    Oracle视图
    Oracle数据库链路
    异常处理之动手动脑
    四则运算自动出题之javaweb版
    继承与多态之动手动脑
    javaweb之添加学生信息
  • 原文地址:https://www.cnblogs.com/happyfei/p/9581268.html
Copyright © 2011-2022 走看看