站长网_站长创业_站长主页_站长之家_易采站长站

会员投稿 投稿指南 站长资讯通告: JavaScript面向对象三个基本特征实例详解【封装、
搜索:
您的位置: 主页 > 教程 > 网页编程 > JavaScript > » 正文

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

Employees中抽出的公共属性有name,age,公共方法有getInfo,seyHi,然而getInfoseyHi所不同的是seyHi使用了static修饰符,改变其为静态方法,seyHi只属于Employees这个类。然而getInfo方法则是属于实例的。

这里使用了staticseyHi方法对其进行了访问权限的封装。

再举一个例子。

Promise.then() // Promise.then is not a function
let p1 = new Promise(() => {})
p1.then(); // Promise {<pending>}
Promise.all([1]);  // Promise {<resolved>: Array(1)}

从上面的代码中可以看出Promise也使用了static对其方法的访问权限进行了封装。

继承

继承:说到继承并不太陌生,继承可以使得子类具有父类的各种的公有属性和公有方法。而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。(节选自百度百科)

最新图文资讯
1 2 3 4 5 6
易采站长站 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助 -