JavaScript面向对象--封装
程序员文章站
2022-05-14 09:14:02
一、封装的概念 面向对象的类包括两大成员,一种是暴露给外部的接口,另一种是只在类内部才能访问的私有属性。在这个类被实例化成对象后,用户只能通过操作给定的接口来访问该类内部的私有属性,这就被称为面向对象的封装性。 二、ES5如何实现封装 这里只说一种方法,就是通过闭包。 可以看下这个例子,在构造函数( ......
一、封装的概念
面向对象的类包括两大成员,一种是暴露给外部的接口,另一种是只在类内部才能访问的私有属性。在这个类被实例化成对象后,用户只能通过操作给定的接口来访问该类内部的私有属性,这就被称为面向对象的封装性。
二、es5如何实现封装
这里只说一种方法,就是通过闭包。
可以看下这个例子,在构造函数(也就是es6的类)中,定义了私有变量_gender,为了和其他属性区分开,这里加一个前缀“_”,在实例化后的对象中,gender对外是完全不可见的。想要知道gender是男是女,只能通过我在类暴露给你的getgender方法获取,除了获取,不能做其他的任何操作了,这就是封装的特点:类负责将私有变量隐藏起来,外界对私有变量的所有访问只能通过提供的接口实现。
二、es6如何实现封装
和es5的实质是完全一样的,只是写法不同。
上一篇: Python3 列表
下一篇: goroutine