JavaScript 類別提供了一種處理物件導向程式設計 (OOP) 概念(例如繼承、封裝和多態性)的現代方法。在本指南中,我們將探討如何建立類別、繼承在 JavaScript 中如何運作,以及如何擴充類別以建立更複雜的物件。
在 ES6 中,JavaScript 引入了更清晰、更直覺的語法,用於使用 class 關鍵字建立物件。
class ClassName { constructor() { // Initialization code } methodName() { // Method code } }
class Animal { constructor(name, type) { this.name = name; this.type = type; } speak() { console.log(`${this.name} makes a sound.`); } } const dog = new Animal('Buddy', 'Dog'); dog.speak(); // Output: Buddy makes a sound.
繼承允許一個類別繼承另一個類別的屬性和方法。在 JavaScript 中,這可以使用 extends 關鍵字來實現。
class ChildClass extends ParentClass { constructor() { super(); // Calls the parent class constructor // Additional initialization code for child class } }
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Dog extends Animal { constructor(name, breed) { super(name); // Call the parent class constructor this.breed = breed; } speak() { console.log(`${this.name}, the ${this.breed}, barks.`); } } const dog = new Dog('Buddy', 'Golden Retriever'); dog.speak(); // Output: Buddy, the Golden Retriever, barks.
在 JavaScript 中,當子類別重寫父類別的方法時,將使用該方法的子類別版本。這稱為方法重寫。
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Cat extends Animal { speak() { console.log(`${this.name} meows.`); } } const cat = new Cat('Whiskers'); cat.speak(); // Output: Whiskers meows.
JavaScript不直接支援多重繼承,這表示一個類別不能同時從多個類別繼承。但是,您可以透過使用 mixins 來解決此限制。
class ClassName { constructor() { // Initialization code } methodName() { // Method code } }
靜態方法和屬性屬於類別本身而不是類別的實例。他們在課堂上直接被召喚。
class Animal { constructor(name, type) { this.name = name; this.type = type; } speak() { console.log(`${this.name} makes a sound.`); } } const dog = new Animal('Buddy', 'Dog'); dog.speak(); // Output: Buddy makes a sound.
取得器和設定器可讓您定義用於取得和設定物件屬性的特殊方法。這些通常用於封裝物件的狀態。
class ChildClass extends ParentClass { constructor() { super(); // Calls the parent class constructor // Additional initialization code for child class } }
類別和繼承是物件導向程式設計中的基本概念,理解它們將幫助您編寫更清晰、更易於維護的 JavaScript 程式碼。
嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。
以上是理解 JavaScript 中的類別和繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!