封装
封装可以分为两层:
第一层:类就是一个袋子,里面可以放属性和方法。第二层:类中定义私有的属性和方法,只有类的内部能够调用(间接调用),外部无法直接访问。
在python中用双下划线开头的方式将属性和方法隐藏(设置成私有)
这里我们封装主要指的是第二层封装。
封装的意义
封装数据属性,可以让我们明确区分内外,控制外部对私有属性的操作行为。
小明:“说人话!”
从封装的角度看,外界是无法直接访问和操作私有属性的,所以我们通过一个__str__函数返回显示我们的私有属性。
我们尝试操作一下私有属性:
很显然我们无法直接进行更改,所以我们需要在内部再设立一个方法来间接调用它。
当然,到了这里不出意外是有一点意外的了。有大聪明发问了:为什么我需要间接调用,我直接person1=('lynne',18)不就好了吗?还有,isinstance是什么东西?
我们先解决第一个问题:
是的没错,确实可以哈哈哈,但我们还是需要了解一下。
第二个问题:isinstance是一个用于判断类型的函数,会根据输入进行判断,最后返回一个bool值,true或false。通常用于if条件语句中。
其用法为:
isinstance(变量,类型)
其次,封装方法可以隔离复杂度。
举个栗子:假如我们去银行取款,那么取款的操作大致就包括输入密码,输入取款金额,打印流水,最后退出的四个操作。
但是对于使用者来说,我们只需要让其知道有取款这一功能即可,所有的方法统一包装起来,仅向外展示一个包装好的功能。第一,其余的功能我们可以隐藏起来;第二,隔离了复杂度,同时也提升了安全性。
量子安全通话服务明年开始区域性试点,但可能需求不大
三星疑似2月11日发布Galaxy S20手机 Galaxy Fold 2有望亮相
英飞凌推出新AIROC Wi-Fi 6/6E认证解决方案
LG正在研发可滚动的笔记本电脑
18w荧光灯电子镇流器
封装是什么意思?封装有何意义?
中电数通:深耕智慧大安全行业,守护城市公共安全
吉利曾有意并购,宝腾表示会寻找合作但不放弃经营权
据调查有80%的企业担心持有比特币会遭到DD0S攻击
小米6将有三种机型:无缘骁龙835!联发科X30处理器,1999元起你买不买?
富士康撤离大陆?友商黔驴技穷
产业玻璃厂电力系统能源消耗数据采集监控方案
伊拉克彩虹-4无人机训练和作战画面公布,可携带345公斤左右的武器
2023中关村论坛系列活动——英特尔智能医疗健康创新合作论坛在京成功举办
首台国产达芬奇手术机器人正式揭幕 中国装机量超过360台
康耐视与宝开智能携手开启战略合作征程
苹果弃用OLED,转投mini LED背光屏用于iPad Pro
人工智能给全民防控、提效降本提供了新思路
薄膜在线缺陷检测仪的工作原理及功能
长沙首个24小时无人售药机 售卖非处方药和医疗器械