[Thực hành] triển khai interface ‘Comparable’ cho các lớp hình học

Mục tiêu Luyện tập thiết kế và triển khai interface. Điều kiện Biết cách thiết kế và triển khai interface. Mô tả Sử dụng interface Comparable và triển khai phương thức compareTo() để hỗ trợ so sánh “hơn, kém, bằng” các đối tượng của các lớp hình học đã được viết ở bài trước. Trong Java, phương thức java.util.Arrays.sort() sử dụng compareTo() để

[Thực hành] Lớp Animal và interface Edible

Mục tiêu Luyện tập thiết kế và triển khai mô hình lớp đối tượng sử dụng lớp trừu tượng và interface. Điều kiện Biết cách  sử dụng lớp trừu tượng và interface. Mô tả Để dễ dàng gọi (sử dụng) phương thức makeSound() của các đối tượng mô phỏng động, tạo lớp trừu tượng Animal. Triển khai lớp Chicken và Tiger là

Interface

Đa thừa kế và vấn đề hình thoi Cây thừa kế động vật vốn được thiết kế để dùng cho bài toán giả lập môi trường sống của động vật. Nếu cần xây dựng phần mềm dạy học cho môn động vật học, ta sẽ tái sử dụng được các lớp trong cây thừa kế

Lớp trừu tượng

Thừa kế mới chỉ là khởi đầu. Để khai thác cơ chế đa hình, các ngôn ngữ lập trình hướng đối tượng cung cấp các cơ chế kiểu trừu tượng (abstract type). Các kiểu trừu tượng có cài đặt không đầy đủ hoặc không có cài đặt. Nhiệm vụ chính của chúng là giữ vai

Phương thức trừu tượng

Không chỉ lớp, ta còn có thể khai báo các phương thức trừu tượng. Một lớp trừu tượng có nghĩa phải tạo lớp con cho nó; còn một phương thức trừu tượng có nghĩa rằng nó phải được cài đè. Ta có thể quy định rằng một vài (hoặc tất cả) các hành vi của

Lớp Object

Thêm một bước nữa, nếu ta muốn có danh sách lưu được cả những đối tượng không phải động vật thì sao? Ta có thể tiếp tục thay đổi theo kiểu sửa kiểu mảng, kiểu đối số phương thức add() thành cái gì đó tổng quát hơn và trừu tượng hơn Animal? Nhưng ta không