- vừa được xem lúc

Sử dụng inheritance(kế thừa) trong Javascript

0 0 18

Người đăng: Gấu con

Theo Viblo Asia

Bài viết này mình sẽ chia sẻ cách sử dụng inheritance trong ES6, trong ES6 nó sử dụng các từ khóa extends và super để biểu diễn sự kế thừa.
Hãy xem ví dụ bên dưới:

	class Animal { constructor(legs) { this.legs = legs; } walk() { console.log(`walking on ${this.legs} legs`); } } class Bird extends Animal { constructor(legs) { super(legs); } fly() { console.log('flying'); } } let bird = new Bird(2); bird.walk(); bird.fly();

Output:

walking on 2 legs
index.html:24 flying

Cách sử dụng:
Đầu tiên, mình tạo class Bird kế thừa class Animal bằng sử dụng từ khóa extends.

class Bird extends Animal { // ...
}

Class Animal ở ví dụ trên được gọi là base class hoặc parent class, khi đó class Bird được hiểu là child class. Do đó class Bird sẽ kế thừa tất cả các phương thức và thuộc tính của class Animal.
Tiếp theo, constructor trong Bird sẽ sử dụng hàm super() để gọi constructor trong Animal và truyền theo đối số là legs.
JavaScript yêu cầu child class gọi super () nếu nó có sử dụng constructor. Nếu child class không sử dụng constructor thì bạn chỉ cần viết code như dưới trong lớp Bird.

class Bird extends Animal { fly() { console.log('flying'); }
}

Ví dụ bạn muốn thêm một thuộc tính color trong class Bird, bạn có thể làm như bên dưới:

	class Bird extends Animal { constructor(legs, color) { super(legs); this.color = color; } fly() { console.log('flying'); } getColor() { return this.color; } } let pegion = new Bird(2, 'Green'); console.log(pegion.getColor());

Output:

Green

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 499

- vừa được xem lúc

Type annotation vs Type Inference - Typescript

Trong bài viết này, chúng ta sẽ tìm hiểu kỹ về TypeScript bằng cách tìm hiểu sự khác biệt giữa kiểu chú thích và kiểu suy luận. Tôi sẽ cho rằng bạn có một số kinh nghiệm về JavaScript và biết về các kiểu cơ bản, như chuỗi, số và boolean.

0 0 32

- vừa được xem lúc

Type Annotation và Type Inference trong TypeScript là gì?

Khi làm việc với javascript chắc hẳn các bạn đã quá quen với việc dùng biến mà không cần phải quan tâm đến kiểu dữ liệu của nó là gì phải không? Đúng là mới đầu tiếp cận với Typescript mình cũng cảm thấy nó khá là phiền vì cần phải khai báo đủ type để nó chặt chẽ hơn. Lúc đó mình còn nghĩ: " JavaScr

0 0 25

- vừa được xem lúc

Tìm hiểu TypeScript và kiến thức cơ bản

TypeScript là gì. TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules.

0 0 35

- vừa được xem lúc

TypeScript - P1: Vì sao TypeScript được yêu thích đến vậy?

Trải nghiệm thực tế. Trước khi là một Web Developer, tôi là một Mobile Developer và Java là thứ mà tôi từng theo đuổi.

0 1 58

- vừa được xem lúc

4 Tính năng rất hay từ TypeScript

Xin chào các bạn hôm nay mình xin chia sẽ những tính năng rất hay của TypeScript (TS), các bạn cùng tìm hiểu nhé. Ngoài việc set Type cho biến, tham số hay function thì ví dụ khi bạn nhìn vào một tham

0 0 82