您好,登錄后才能下訂單哦!
本文實例講述了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,運行結果如下:
多態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程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。