JavaScript基础
- JavaScript 面向对象
- 封装
- 类:封装对象的属性和行为
- 方法:封装具体逻辑功能
- 访问封装:对其访问权限进行封装
-
查看代码
class Employees { constructor(name,age){ this.name = name; this.age = age; } getInfo(){ let {name,age} = this; return {name,age}; } static seyHi(){ console.log("Hi"); } } let lisi = new Employees("Aaron",18); lisi.seyHi(); // lisi.seyHi is not a function lisi.getInfo(); // {name: "Aaron", age: 18} Employees.seyHi(); // Hi 这里使用了static对seyHi方法对其进行了访问权限的封装。
总结:封装可以隐藏实现细节,使得代码模块化
- 继承
- 子类继承父类后(子类的功能要比父类多或者相同)
- 可重新定义某些属性,并重写某些方法,即覆盖父类原有的属性和方法,使其获得与父类不同的功能
-
查看代码
class Employees { constructor(name){ this.name = name } getName(){ console.log(this.name) } static seyHi(){ console.log("Hi") } } class java extends Employees { constructor(name){ super(name) } work(){ console.log("我做后台") } static seyHi(){ console.log("Hi") } } let java = new Java("Aaron"); java.getName(); java.work(); java.seyHi(); // java.seyHi is not a function总结:继承可以扩展已存在的代码模块(类),他们的目的都是为了代码重用
- 多态
- 重写:子类并不想原封不动的继承父类,想添加或者删除某些属性
- 重载:同一个方法,传入不同参数,返回的数据不一致