Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Sự chuyển đổi này được thực hiện một cách ngầm định bởi vì bất cứ số nguyên nào cũng có thể được chuyển thành một phân số bằng cách thiết lập tử số bằng giá trị số nguyên và mẫu số có giá trị là 1. Việc thực hiện này có thể giao lại cho phương thức khởi dựng lấy một tham số. | Ngôn Ngữ Lập Trình C Sự chuyển đổi này được thực hiện một cách ngầm định bởi vì bất cứ số nguyên nào cũng có thể được chuyển thành một phân số bằng cách thiết lập tử số bằng giá trị số nguyên và mẫu số có giá trị là 1. Việc thực hiện này có thể giao lại cho phương thức khởi dựng lấy một tham số. Toán tử chuyển đổi thứ hai được thực hiện một cách tường minh chuyển từ một Fraction ra một số nguyên public static explicit operator int Fraction theFraction return theFraction.numerator theFraction.denominator Bởi vì trong ví dụ này sử dụng phép chia nguyên phép chia này sẽ cắt bỏ phần phân chỉ lấy phần nguyên. Do vậy nếu phân số có giá trị là 16 15 thì kết quả số nguyên trả về là 1. Một số các phép chuyển đổi tốt hơn bằng cách sử dụng làm tròn số. Tiếp theo sau là toán tử so sánh bằng và toán tử so sánh không bằng . Chúng ta nên nhớ rằng khi thực thi toán tử so sánh bằng thì cũng phải thực thi toán tử so sánh không bằng. Chúng ta đã định nghĩa giá trị bằng nhau giữa hai Fraction khi tử số bằng tử số và mẫu số bằng mẫu số. Vi dụ như hai phân số 3 4 và 6 8 thì không được so sánh là bằng nhau. Một lần nữa một sự thực thi tốt hơn là tối giản tử số và mẫu số khi đó 6 8 sẽ đơn giản thành 3 4 và khi đó so sánh hai phân số sẽ bằng nhau. Trong lớp này chúng ta cũng thực thi phủ quyết phương thức Equals của lớp object do đó đối tượng Fraction của chúng ta có thể được đối xử một cách đa hình với bất cứ đối tượng khác. Trong phần thực thi của phương thức chúng ta ủy thác việc so sánh lại cho toán tử so sánh bằng cách gọi toán tử . Lớp Fraction có thể thực thi hết tất cả các toán tử số học như cộng trừ nhân chia. Tuy nhiên trong phạm vi nhỏ hẹp của minh họa chúng ta chỉ thực thi toán tử cộng và thậm chí phép cộng ở đây được thực hiện đơn giản nhất. Chúng ta thử nhìn lại nếu hai mẫu số bằng nhau thì ta cộng tử số public static Fraction operator Fraction lhs Fraction rhs if lhs.denominator rhs.denominator return new Fraction lhs.numerator rhs.numerator lhs.denominator Nếu mẫu số không