Trang chủ » Blog » [Thực hành] Triển khai interface ‘Comparable’ cho các lớp hình học

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

bởi CodeGym | 26/12/2023 17:15 | Bài thực hành | Blog

Mục tiêu

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

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

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

Mô tả- Triển khai interface ‘Comparable’

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. Sử dụng sort() để triển khai compareTo() , viết một chương trình sử dụng phương thức sort() để kiểm thử compareTo().

Hướng dẫn

Bước 1: Lớp Circle: Tạo mới một tệp với tên Circle.php

<?php

class Circle
{
    public $radius;
    public $name;

    public function __construct($name, $radius)
    {
        $this->radius = $radius;
        $this->name = $name;
    }

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }

    public function getRadius() {
        return $this->radius;
    }

    public function setRadius($radius)
    {
        $this->radius = $radius;
    }
}

Bước 2:  interface Comparable: Tạo mới tệp với tên Comparable.php

<?php

interface Comparable
{
    public function compareTo($objOther);
}

Bước 3: Tạo một lớp ComparableCircle kế thừa lớp Circle, triển khai interface Comparable:

<?php

include "Circle.php";
include "Comparable.php";

class ComparableCircle extends Circle implements Comparable
{
    public function __construct($name, $radius)
    {
        parent::__construct($name, $radius);
    }

    public function compareTo($circleOther)
    {
        $circleOtherRadius = $circleOther->getRadius();

        if ($this->getRadius() > $circleOtherRadius) {
            return 1;
        }  else if($this->getRadius() < $circleOtherRadius) {
            return -1;
        } else {
            return 0;
        }
    }
}

Bước 4: chương trình chạy thử ComparableCircleMain: Tạo mới tệp với tên ComparableCircleMain.php

include "ComparableCircle.php";

$circleOne = new ComparableCircle('circleOne', 8);
$circleTwo = new ComparableCircle('circleTwo', 2);

var_dump($circleOne->compareTo($circleTwo));

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

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é!

Download - Giáo trình thuật toán

12 + 7 =

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

9 + 10 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM