91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript實現多態和繼承的封裝操作示例

發布時間:2020-09-09 16:52:29 來源:腳本之家 閱讀:145 作者:kkun 欄目:web開發

本文實例講述了JavaScript實現多態和繼承的封裝操作。分享給大家供大家參考,具體如下:

封裝Encapsulation

如下代碼,這就算是封裝了

(function (windows, undefined) {
  var i = 0;//相對外部環境來說,這里的i就算是封裝了
})(window, undefined);

繼承Inheritance

(function (windows, undefined) {
  //父類
  function Person() { }
  Person.prototype.name = "name in Person";
  //子類
  function Student() { }
  Student.prototype = new Person();      //修復原型
  Student.prototype.constructor = Student;  //構造函數
  Student.prototype.supr = Person.prototype; //父類
  //創建子類實例
  var stu = new Student();
  Student.prototype.age = 28;
  Student.prototype.name = "name in Student instance";
  //打印子類成員及父類成員
  console.log(stu.name); //name in Student instance
  console.log(stu.supr.name); //name in Person
  console.log(stu.age); //28
})(window, undefined);

使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.jb51.net/code/HtmlJsRun,運行結果如下:

JavaScript實現多態和繼承的封裝操作示例

多態Polymorphism

有了繼承,多態就好辦了

//這就是繼承了
(function (windows, undefined) {
  //父類
  function Person() { }
  Person.prototype.name = "name in Person";
  Person.prototype.learning = function () {
    console.log("learning in Person")
  }
  //子類
  function Student() { }
  Student.prototype = new Person();      //修復原型
  Student.prototype.constructor = Student;  //構造函數
  Student.prototype.supr = Person.prototype; //父類
  Student.prototype.learning = function () {
    console.log("learning in Student");
  }
  //工人
  function Worker() { }
  Worker.prototype = new Person();      //修復原型
  Worker.prototype.constructor = Worker;  //構造函數
  Worker.prototype.supr = Person.prototype; //父類
  Worker.prototype.learning = function () {
    console.log("learning in Worker");
  }
  //工廠
  var personFactory = function (type) {
    switch (type) {
      case "Worker":
        return new Worker();
        break;
      case "Student":
        return new Student();
        break;
    }
    return new Person();
  }
  //客戶端
  var person = personFactory("Student");
  person.learning(); //learning in Student
  person = personFactory("Worker");
  person.learning(); //learning in Worker
})(window, undefined);

使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.jb51.net/code/HtmlJsRun,運行結果如下:

JavaScript實現多態和繼承的封裝操作示例

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

交城县| 新干县| 临朐县| 老河口市| 任丘市| 海阳市| 尉氏县| 昭苏县| 安乡县| 叙永县| 昭通市| 泰兴市| 西安市| 遂川县| 丰原市| 科技| 津市市| 桓仁| 外汇| 道孚县| 鹤岗市| 长寿区| 新余市| 铜梁县| 牟定县| 平罗县| 赣榆县| 如东县| 监利县| 南雄市| 蕲春县| 社旗县| 吉水县| 肃南| 海门市| 苍南县| 故城县| 丹寨县| 黎川县| 万山特区| 乐平市|