Mục tiêu

Luyện tập thiết kế và triển khai interface ‘Comparator’.

Điều kiện- Triển khai interface ‘Comparator’

Biết cách thiết kế và triển khai interface

Mô tả

Ở bài thực hành trước đã tiến hành cho các lớp hình học triển khai interface Comparable để hỗ trợ so sánh “hơn, kém, bằng”.

Phương án này không phù hợp khi mà vì lý do gì đó, không thể thay đổi các lớp đã có sẵn, cũng như không thể tùy ý tạo ra và sử dụng các lớp kế thừa mới.

Trong trường hợp đó, ta có thể sử dụng những đối tượng thuộc những lớp mà có triển khai interface Comparator và phương thức compare() của nó, để phục phụ việc so sánh, như hướng dẫn dưới đây.

Gợi ý triển khai một Comparator có khả năng so sánh các Circle (hình tròn)

Học viên tự triển khai Comparator cho các lớp hình học còn lại.

Hướng dẫn

Bước 1: Tạo một lớp CircleComparator triển khai interface Comparator:

Bước 2: Tạo chương trình để kiểm thử CircleComparatorTest

Chạy chương trình và quan sát kết quả.
Mã nguồn tham khảo: 
https://github.com/codegym-vn/php-interface-comparable.git

Trên đây CodeGym đã cùng với bạn luyện tập thiết kế và triển khai interface. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.