Tạo một lớp Shape và phương thức để tính diện tích,chu vi của hình vuông trong TypeScript.
Lập trình hướng đối tượng là một khía cạnh quan trọng trong việc xây dựng ứng dụng phần mềm. Trong TypeScript, mình có thể tận dụng tính kế thừa và đa hình để tạo ra các lớp và đối tượng một cách linh hoạt và hiệu quả. Trong bài viết này, mình sẽ tạo một lớp Shape
và lớp con của nó là Square
, với mục tiêu tính toán diện tích và chu vi của hình vuông.
Lớp Shape và Lớp Square
class Shape { protected side: number; constructor(side: number) { this.side = side; } public getArea(): number { return 0; // Hàm này sẽ được ghi đè bởi lớp Square } public getPerimeter(): number { return 0; // Hàm này sẽ được ghi đè bởi lớp Square } } class Square extends Shape { constructor(side: number) { super(side); } public getArea(): number { return this.side * this.side; } public getPerimeter(): number { return 4 * this.side; } }
Giải thích lớp Shape và lớp Square:
- Lớp Shape: Định nghĩa một thuộc tính bảo vệ (protected) side để lưu độ dài cạnh. Nó cũng cung cấp hai phương thức
getArea()
vàgetPerimeter()
mà lớp con có thể ghi đè. - Lớp Square (lớp con của Shape): Kế thừa từ lớp Shape và cài đặt phương thức
getArea()
vàgetPerimeter()
để tính diện tích và chu vi của hình vuông.
Sử dụng Square
const square = new Square(5); console.log('Diện tích hình vuông:', square.getArea()); // Kết quả: Diện tích hình vuông: 25 console.log('Chu vi hình vuông:', square.getPerimeter()); // Kết quả: Chu vi hình vuông: 20
Kết quả sẽ hiển thị diện tích và chu vi của hình vuông có cạnh là 5. Bài viết này minh họa cách sử dụng TypeScript để tạo lớp và kế thừa, cùng với việc ghi đè phương thức để tính toán thông tin cơ bản của hình vuông. Lưu ý rằng bạn có thể mở rộng lớp Shape và tạo các lớp con khác để tính diện tích và chu vi của các hình học khác nhau.
Hy vọng bài viết này giúp bạn làm quen và hiểu rõ hơn về cách sử dụng TypeScript trong lập trình hướng đối tượng!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Viết một lớp Triangle để tính diện tích và chu vi của một tam giác trong TypeScript.
- Tạo một lớp Shape và phương thức để tính diện tích,chu vi của hình vuông trong TypeScript.
- Tính diện tích và chu vi của các hình tròn và hình ellipse trong TypeScript.
- Tạo một lớp Rectangle và một lớp con là Parallelogram tính diện tích và chu vi của hình chữ nhật trong TypeScript.
- Viết một lớp Octagon để tính diện tích và chu vi của một hình bát giác trong TypeScript.
- Tạo lớp Pentagon và tính diện tích và chu vi của một hình ngũ giác đều trong TypeScript.
- Tạo lớp Hexagon để tính diện tích và chu vi của một hình lục giác trong TypeScript.
- Tạo lớp Animal với makeSound() trống,để tạo lớp con Dog, Cat, và Bird trong TypeScript.
- Tạo một chương trình người dùng nhập vào danh sách các đối tượng thuộc các lớp Dog, Cat, và Bird trong TypeScript.
- Xây dựng một lớp Zoo để quản lý các đối tượng Animal trong TyprScript.
- Viết một lớp EventListener có một phương thức listen() để lắng nghe các sự kiện trong TypeScript