Posts from the ‘Language’ Category

Kỹ Thuật Lập Trình Hướng Đối Tượng – Phần 5

4.Không định nghĩa equals như là một mối quan hệ tương đương Quy tắc của phương thức equals trong lớp Object quy định rằng phương thức equals phải thực hiện một mối quan hệ tương đương trên các đối tượng non-null. Tính phản xạ(reflexive): với bất kỳ giá trị x non-null, biểu thức x.equals(x) phải [...]

Kỹ Thuật Lập Trình Hướng Đối Tượng – Phần 4

3.Định nghĩa phương thức equals với các trường(field) có thể sữa đổi Ta xây dựng lại lớp Point như sau: public class Point {     private int x;     private int y;     public Point(int x, int y) {         this.x = x;         this.y = y;     }  

Kỹ Thuật Lập Trình Hướng Đối Tượng – Phần 3

2.Thay đổi equals mà không thay đổi hashcode Trong ví dụ trên, tại sao sau khi viết lại phương thức equals, sử dụng phương thức contrains của HashSet vẫn cho kết quả false. Đó là bởi vì bạn chỉ ghi đè lại phương thức equals mà không ghi đè phương thức hashCode. Lưu ý rằng, [...]

Kỹ Thuật Lập Trình Hướng Đối Tượng – Phần 2

II.Phương thức Equals() trong Java Trong bài trước, chúng ta đã tìm hiểu về phương thức toString() trong lớp Object. Tiếp theo, trong bài viết này sẽ mô tả một kỹ thuật để ghi đè phương thức equals() trong Java có hiệu quả. Các pitfalls chung trong phương thức equals() Định nghĩa equals() với signature [...]

Xử Lý Ngoại Lệ Trong Java

Ngoại lệ trong Java là các đối tượng có kiểu lớp định nghĩa sẵn, biểu diễn trạng thái lỗi tự động phát sinh trong trường hợp nào đó khi một hàm được thực hiện. Các hàm trong Java được định nghĩa sẵn trong trường hợp nào thì có kiểu ngoại lệ nào đó sẽ phát [...]

Exception Trong Java

I. Khái niệm về xử lý ngoại lệ Mọi đoạn chương trình đều tiềm ẩn khả năng sinh lỗi. lỗichủ quan: do lập trình sai. lỗi khách quan: do dữ liệu, do trạng thái của hệ thống. Ngoại lệ: các trường hợp hoạt động không bình thường. Xử lý ngoại lệ như thế nào. làm [...]

Kỹ Thuật Lập Trình Hướng Đối Tượng – Phần 1

Mặc dù Object là một lớp cụ thể, nó được thiết kế chủ yếu để các lớp các kế thừa. Tất cả các phương thức non-final của nó (equals(), hashCode(), toString(), clone(), và finalize()) đều có các quy tắc chung bởi vì chúng được thiết kế để được overrride. Tất cả các lớp kế thừa [...]

Follow

Get every new post delivered to your Inbox.

Join 125 other followers