Python|类的封装

防止外部调用对内部造成干扰 ,断绝了外部对某些方法的调用。

# 编写一个银行卡类
# 属性:银行名称 卡号。密码。姓名。余额
#方法:登录,存款

#封装:将类中的属性或方法私有化,私有化的属性和方法只能在类的内部被调用
#只需要在属性名的前面加上两个下划线就可
class Card():
    def __init__(self,cnum,cpwd,cname,cbalance):
        self.bankName = "建设银行"
        self.cnum = cnum
        self.cpwd = cpwd 
        self.cname = cname 
        self.__cbalance = cbalance #私有属性

    def __login(self): #私有方法
        num = input("请输入卡号:")
        pwd = input("请输入密码:")
        if num == self.cnum and pwd == self.cpwd:
            print("验证成功!")
            return "ok"
        else:
            print("验证失败")
            return "no"
    def showBalance(self):
        r = self.__login()
        if r == "ok":
            print("余额:",self.__cbalance,"元!")

    def deposit(self):
        r = self.__login()#可以在类的内部调用其他方法,使用self作为对象名
        if r == "ok":
            money =  float(input("请输入存款数目:"))
            self.cbalance += money
            print("存款成功!存入",money,"元!余额",self.cbalance,"元!")
#创建银行卡对象
c1=Card("1001","123","张三",1000)
#调用存款方法
#c1.showBalance() #先登录成功,然后才能查看余额.对访问余额进行了限制
c1.deposit()

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值