美文网首页
封装理解

封装理解

作者: 往你头上敲三下 | 来源:发表于2018-05-08 16:59 被阅读0次

封装不是单纯意义的隐藏,封装数据的主要原因是保护隐私,封装方法的主要原因是隔离复杂度

封装分为两个层面

1.创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装

注意:对于这一层面的封装(隐藏),类名.和实例名.就是访问隐藏属性的接口

2.类中把某些属性和方法隐藏起来,或者定义为私有,只在类的内部使用,在类的外部无法使用,或者留下少量的接口(函数)供外部访问

无论是哪种层面的封装,都要对外提供好访问内部隐藏内容的接口

上述代码运行结果在图中可看到:

zhanglaoshi 30 English

hanmei 15 第二组

zhanglaoshi is teaching

hanmei is studying

接下来,把上述代码中的两个类中的某些属性隐藏。Python中私有化的方法也比较简单,即在准备私有化的属性(包括方法、数据)名字前面加两个下划线即可

上述代码在截图中可以看到56行代码调用报错:‘Teacher’这个类没有‘name’这个属性,说明隐藏属性后,再像以前那样访问对象内部的属性,就会返回属性错误。

所以属性隐藏后,我们怎么样才能访问其内部属性呢?

python对于这样的隐藏,有一些特点:1.类中定义的_X只能在内部使用,如self._X,引用的就是变形之后的结果。2.这种变形其实正是对外部的改变,在外部是无法通过_X这个名字访问到的。

事实上,python对于这一层面的封装,需要在类中定义一个函数。

这样在类的内部访问被隐藏的属性,在外部就可以使用了,而且这种形式的隐藏并没有真正意义上的限制从外部直接访问属性,知道了类名和属性名一样可以调用类的隐藏属性

相关文章

  • 封装理解

    封装不是单纯意义的隐藏,封装数据的主要原因是保护隐私,封装方法的主要原因是隔离复杂度 封装分为两个层面 1.创建类...

  • 面向对象的三大基本特性,五大基本原则

    透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础. 三大特性是:封装,继承,多态 封装 封装最好理解了...

  • 02.OOP面向对象-3.一些理解

    对封装的理解?封装,类本身就是一个封装,封装了属性和方法。方法也是封装,对一些业务逻辑的封装。私有也是封装,将一些...

  • 面向对象编程

    面向对象的编程 目标: 理解面向对象的思想:考虑通过封装、继承、多态把程序的耦合度降低。 理解类和对象 理解封装、...

  • 1. Java基础

    一. 谈谈你对Java三大特性的理解 1. 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特...

  • 面向对象的三个特征

    面向对象的三个基本特征是:封装、继承、多态。 (1)封装(Encapsulation)-隐藏实现 封装最好理解了。...

  • Java面向对象的三大特性

    封装 1. 封装的理解 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据...

  • 面向对象的三大特性小结

    封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,...

  • 面相对象的特征

    封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,...

  • iOS 关于低耦合封装

    关于低耦合封装 要探讨低耦合封装,就必须先简单说说对封装的理解。 什么是封装?封装简单的说就是用特定的代码框架将某...

网友评论

      本文标题:封装理解

      本文链接:https://www.haomeiwen.com/subject/gkzirftx.html