- 看透JavaScript:原理、方法與實踐
- 韓路彪
- 331字
- 2020-11-28 15:50:49
9.2 class的用法
ES2015中使用class的操作除了定義正常的屬性、方法外,最重要的就是extends、super以及constructor關(guān)鍵字的使用。其中,extends用于類的繼承,super用于調(diào)用父類的構(gòu)造函數(shù),constructor用于定義構(gòu)造函數(shù)。我們來看下面的例子。
//定義程序類 class Program{ constructor(language) { this.language = language; } logLanguage(){ console.log(this.language); } } //定義網(wǎng)站類,繼承自Program class WebSite extends Program{ constructor(language, domainName) { super(language); this.domainName = domainName; } logDomainName (){ console.log(this.domainName); } } //定義網(wǎng)站類型對象實例mySite var mySite = new WebSite("JavaScript", "www.excelib.com"); //使用mySite調(diào)用父類方法logLanguage mySite.logLanguage(); //JavaScript //使用mySite調(diào)用自身的方法logDomainName mySite.logDomainName (); //www.excelib.com
使用過基于類的語言的讀者可以很容易理解上面的代碼。代碼的內(nèi)容非常簡單,首先定義了一個Program類,然后定義了一個Program的子類WebSite,最后創(chuàng)建了WebSite類型的對象實例mySite,并且使用它調(diào)用了自身的logDomainName方法和父類中的logLanguage方法。需要注意的是,ES中的構(gòu)造函數(shù)是使用constructor來定義的,而不像其他基于類的語言(如Java)中使用與類名同名的函數(shù)來定義。
推薦閱讀
- Android Wearable Programming
- Visual C++串口通信開發(fā)入門與編程實踐
- Java異步編程實戰(zhàn)
- 深入淺出Java虛擬機:JVM原理與實戰(zhàn)
- 軟件測試項目實戰(zhàn)之性能測試篇
- PyTorch Artificial Intelligence Fundamentals
- Blender 3D Incredible Machines
- MATLAB 2020從入門到精通
- The DevOps 2.5 Toolkit
- Mastering Xamarin.Forms(Second Edition)
- 從零開始學(xué)UI:概念解析、實戰(zhàn)提高、突破規(guī)則
- Clojure Web Development Essentials
- 軟件設(shè)計模式(Java版)
- CryENGINE Game Programming with C++,C#,and Lua
- Instant Pygame for Python Game Development How-to