静态方法,和类方法实例

'''
静态方法,和类方法实例

'''
import math
class Pizza():
    radius = 5
    height = 10
    def __init__(self,radius,height):
        self.radius = radius
        self.height = height
        print("创建实例")
    # 静态方法:把他当成普通的函数来看待,也需要传参数,
    # Pizza这个类里面的实例变量跟它没有关系
    @staticmethod
    def mianji(radius):
        return math.pi*pow(radius,2)
    # 类方法:cls是这个类的名称,也就是说,当我调用这上面的面积的时候
    # 只需要用这个名字加上cls.mianji(),也就是相当于继承了mianji()这个函数,
    # 这里调用也需要传入参数,这里的传参也跟类没有一毛钱关系
    @classmethod
    def tiji(cls):
        return cls.mianji(cls.radius)*cls.height
    #cls.radius继承于类中的变量

    @classmethod
    def tiji2(cls,radius,height):
        return cls.mianji(radius) * height


# 总结:类方法可以继承静态方法,但静态方法不能继承任何方法的方法


Pai = Pizza(50,2)
print(Pai.mianji(5))
print(Pai.tiji())
以上内容作为课堂笔记,如有雷同,请联系于我
原文地址:https://www.cnblogs.com/ArtisticMonk/p/9111626.html