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.
Trong bài này, việc sử dụng lập trình hướng đối tượng cho phép chúng ta tạo các lớp với các thuộc tính và phương thức để thực hiện các tính toán cụ thể. Dưới đây là một bài tập về việc tạo lớp Triangle để tính diện tích và chu vi của một tam giác dựa trên ba cạnh được nhập vào.
Tính diện tích và chu vi tam giác
Tạo file TypeScript
Tạo một file mới, ví dụ triangleExample.ts,
và viết đoạn mã sau vào file:
Lớp Triangle:
class Triangle { private sideA: number; private sideB: number; private sideC: number; constructor(a: number, b: number, c: number) { this.sideA = a; this.sideB = b; this.sideC = c; } private isValidTriangle(): boolean { return (this.sideA + this.sideB > this.sideC) && (this.sideB + this.sideC > this.sideA) && (this.sideC + this.sideA > this.sideB); } public getArea(): number { if (!this.isValidTriangle()) { throw new Error('Tam giác không hợp lệ'); } const s = (this.sideA + this.sideB + this.sideC) / 2; return Math.sqrt(s * (s - this.sideA) * (s - this.sideB) * (s - this.sideC)); } public getPerimeter(): number { if (!this.isValidTriangle()) { throw new Error('Tam giác không hợp lệ'); } return this.sideA + this.sideB + this.sideC; } }
Giải Thích:
-
Constructor: Lớp Triangle có một constructor nhận ba tham số là độ dài của ba cạnh tam giác.
-
Phương thức
isValidTriangle():
Kiểm tra xem ba cạnh này có tạo thành một tam giác hợp lệ hay không bằng cách so sánh tổng của hai cạnh bất kỳ có lớn hơn cạnh còn lại không. -
Phương thức
getArea()
: Tính diện tích của tam giác bằng công thức Heron khi tam giác là hợp lệ. Nếu tam giác không hợp lệ, nó sẽ ném ra một lỗi thông báo. -
Phương thức
getPerimeter()
: Tính chu vi của tam giác bằng tổng độ dài của ba cạnh. Nếu tam giác không hợp lệ, nó cũng sẽ ném ra một lỗi thông báo.
Sử dụng vào lớp Triangle
try { const triangle = new Triangle(3, 4, 5); console.log('Diện tích tam giác:', triangle.getArea()); console.log('Chu vi tam giác:', triangle.getPerimeter()); } catch (error) { console.error(error.message); }
Biên dịch và chạy
Sử dụng TypeScript compiler (tsc)
để biên dịch file TypeScript thành JavaScript:
tsc triangleExample.ts
Sau khi biên dịch thành công, một file triangleExample.js
sẽ được tạo. Bây giờ bạn có thể chạy mã JavaScript này bằng Node.js:
node triangleExample.js
Kết quả sẽ được in ra màn hình terminal hoặc console như sau:
Diện tích tam giác: 6 Chu vi tam giác: 12
Khi chạy đoạn mã trên, nó sẽ tạo một tam giác có ba cạnh là 3, 4, 5 và tính diện tích cũng như chu vi của tam giác đó. Nếu ba cạnh không tạo thành một tam giác hợp lệ, nó sẽ hiển thị thông báo lỗi.
Việc sử dụng lớp Triangle như vậy giúp tính toán diện tích và chu vi của tam giác một cách thuận tiện và dễ dàng trong TypeScript.
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