JavaScript、ES6中的類和對象


       面向對象可以用於描述現實世界的事物,但是事物分為具體的(特指的)事物和抽象的(泛指的)事物。
面向對象思維的特點:
1.抽取(抽象)對象共有的屬性和行為組織(封裝)成一個類(模板)
2.對類進行實例化,獲取類和對象 
3.對象--特指的
1) 對象是一個具體的事物,一個蘋果、一張網頁、一個數據庫、一個與遠程服務器的連接也是對象;
2) javascript中 對象是一組無序的相關屬性和方法的集合,所有的事物都是對象,例如,字符串、數值、數組、函數等。
    屬性:事物的特征,在對象中用屬性來表示(常用名詞)如,人的name
    方法:事物的行為,在對象中用方法來表示(常用動詞)

4.類--泛指的 
   可以用class關鍵字聲明一個類(字母大寫),之后以這個類來實例化對象。
5.類和對象的區別:
1) 類抽象了對象的公共部分,它泛指某一大類(class)
2) 對象特指某一個,通過類實例化一個具體的對象 
3) 類必須使用new實例化對象
4) 創建類 創建對象
    語法:
class Name { // body}
    創建實例:
var xx = new Name();
6.語法規范:
1) 用class關鍵字聲明一個類,首字母大寫
2) 類里面的constructor函數,存放的是類的共有屬性;
    可以接受傳遞過來的參數,同時返回實例對象(不需要return哦)
    只要new生成實例時,就會自動調用這個函數,如果我們不寫這個函數,類會自動生成這個函數
3) 生成實例的new不能省略 
4) 創建類時 類名后面不加小括號,生成實例 類后面加小括號 
5) 構造函數不需要加function(類里面的所有函數不需要添加function)
6) 多個函數方法之間不需要用逗號分隔
 
具體的實例如下:
// 1.創建一個明星類
class Star{ // 類的共有屬性放到constructor中
 constructor(name, age){ this.name = name; this.age  = age; } sing(song){ alert(this.name+"唱"+song); } play(){ alert("play"); } } // 2.利用類創建對象
var aa = new Star('小明', 20); var bb = new Star('小紅', 20); console.log(aa.name); // 小明
console.log(bb.age);  // 20
aa.sing("lala"); // 小明唱lala
bb.play(); // play


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM