面向对象的静态方法


前言

1 面向对象
构造方法
实例成员
实例变量
实例方法
类成员
类变量
类方法
静态方法

一、静态方法

工具、在类中使用静态方法表示与对象的【归属】关系。

特点:
    1、既不访问实例成员,也不访问类成员
    2、一般不传递参数(静态方法与类外定义的函数一样)

作用:
    归属、工具(方便管理)

场景:
    一般用于定义工具函数
    在类中的菜单

定义:
    class 类名:
        @staticmethod
        def 静态方法名([参数列表]):
            方法体

调用:
    类名.静态方法名([参数列表])

说明:
    1、使用@staticmethod修饰的目的是了该方法不需要隐式传递参数
    2、静态方法不能访问实例成员与类成员

总结:
    class 类名:
        '''  文档字符串 '''
        类变量名 = 值    # 数据共享

        def __init__(self, [参数列表]):
            '''  多用于初始化实例对象的变量  '''
            self.属性名 = 数据
            ...

        def 实例方法名(self, [参数列表]):
            ''' 实现类的某个功能,操作实例变量 '''
            self.实例变量名
            ...

        @classmethod
        def 类方法名(cls, [参数列表]):
            ''' 操作类变量 '''
            cls.类变量名
            ...

        @staticmethod
        def 静态方法名([参数列表]):
            ''' 功能归属,方便管理 '''
            ...
    调用:
        对象 = 类名([参数列表])   # 根据构造方法中参数传递
        对象.实例变量
        对象.实例方法

        类.类变量
        类.类方法
        类.静态方法

二、小试牛刀

1.练习

使用面向对象的方式实现提款机存取钱的过程 #
1、选择存取之前打印存取款选项菜单 #
2、在取钱时,如果取款金额大于余额时,提示余额不足 #
3、在存钱时,不能钱数为负值 #
4、每次交易后需要打印:谁取/存了多少钱,账户余额为多少钱? # 5、需要实例化多个对象后都可以对总体银行的钱增多或减少

class ATM:
    bank_money = 1000000

    def __init__(self, name, money):
        self.name = name
        self.money = money

    @staticmethod
    def menu():
        print('1 存款')
        print('2 取款')
        print('0 退出')

    def main(self):
        while True:
            ATM.menu()  # 静态方法调用
            chioce = input('请输入:')
            if chioce not in ['0', '1', '2']:
                print('请根据菜单进行选择!!')
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XU AE86

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值