封装
封装可以分为两层:
第一层:类就是一个袋子,里面可以放属性和方法。第二层:类中定义私有的属性和方法,只有类的内部能够调用(间接调用),外部无法直接访问。
在Python中用双下划线开头的方式将属性和方法隐藏(设置成私有)
这里我们封装主要指的是第二层封装。
封装的意义
封装数据属性,可以让我们明确区分内外,控制外部对私有属性的操作行为。
小明:“说人话!”
从封装的角度看,外界是无法直接访问和操作私有属性的,所以我们通过一个__str__函数返回显示我们的私有属性。
我们尝试操作一下私有属性:
很显然我们无法直接进行更改,所以我们需要在内部再设立一个方法来间接调用它。
当然,到了这里不出意外是有一点意外的了。有大聪明发问了:为什么我需要间接调用,我直接person1=('Lynne',18)不就好了吗?还有,isinstance是什么东西?
我们先解决第一个问题:
是的没错,确实可以哈哈哈,但我们还是需要了解一下。
第二个问题:isinstance是一个用于判断类型的函数,会根据输入进行判断,最后返回一个bool值,True或False。通常用于if条件语句中。
其用法为:
isinstance(变量,类型)
其次,封装方法可以隔离复杂度。
举个栗子:假如我们去银行取款,那么取款的操作大致就包括输入密码,输入取款金额,打印流水,最后退出的四个操作。
但是对于使用者来说,我们只需要让其知道有取款这一功能即可,所有的方法统一包装起来,仅向外展示一个包装好的功能。第一,其余的功能我们可以隐藏起来;第二,隔离了复杂度,同时也提升了安全性。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !