JavaScript面向对象--封装

  • 2022-10-05 09:50:03

一、封装的概念

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

二、es5如何实现封装

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

JavaScript面向对象--封装

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

二、es6如何实现封装

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

JavaScript面向对象--封装

上一篇:Date相关

猜你喜欢