JavaScript面向对象--封装

一、封装的概念

  面向对象的类包括两大成员,一种是暴露给外部的接口,另一种是只在类内部才能访问的私有属性。在这个类被实例化成对象后,用户只能通过操作给定的接口来访问该类内部的私有属性,这就被称为面向对象的封装性。

二、ES5如何实现封装

  这里只说一种方法,就是通过闭包。

JavaScript面向对象--封装

可以看下这个例子,在构造函数(也就是ES6的类)中,定义了私有变量_gender,为了和其他属性区分开,这里加一个前缀“_”,在实例化后的对象中,gender对外是完全不可见的。想要知道gender是男是女,只能通过我在类暴露给你的getGender方法获取,除了获取,不能做其他的任何操作了,这就是封装的特点:类负责将私有变量隐藏起来,外界对私有变量的所有访问只能通过提供的接口实现

二、ES6如何实现封装

和ES5的实质是完全一样的,只是写法不同。

JavaScript面向对象--封装

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjwff.html