3.1.7 封装的应用
Posted beallaliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.1.7 封装的应用相关的知识,希望对你有一定的参考价值。
一:封装数据属性:明确的区分内外,控制外部对隐藏的属性的操作行为
如: 如果直接对name进行操作,控制不了输入的合法性。可对其进行隐藏,然后开放接口,在接口内部进行校验。
class People: def __init__(self,name,age): self.__name=name self.__age=age def tell_info(self): print(‘Name:<%s> Age:<%s>‘ %(self.__name,self.__age)) def set_info(self,name,age): if not isinstance(name,str): print(‘名字必须是字符串类型‘) return if not isinstance(age,int): print(‘年龄必须是数字类型‘) return self.__name=name self.__age=age p=People(‘egon‘,18) # p.tell_info() # p.(‘EGON‘,38) p.tell_info() p.set_info(123,38) p.set_info(‘egon‘,‘38‘) p.tell_info()
二、 封装方法:隔离复杂度
class ATM: def __card(self): print(‘插卡‘) def __auth(self): print(‘用户认证‘) def __input(self): print(‘输入取款金额‘) def __print_bill(self): print(‘打印账单‘) def __take_money(self): print(‘取款‘) def withdraw(self): self.__card() self.__auth() self.__input() self.__print_bill() self.__take_money() a=ATM() a.withdraw()
以上是关于3.1.7 封装的应用的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装