Mục tiêu

Hệ các đối tượng hình học- Luyện tập triển khai cơ chế kế thừa trong OOP.

Mô tả- Hệ các đối tượng hình học

Trong phần này, chúng ta phát triển một ứng dụng hỗ trợ tính các thông số: diện tích, chu vi, thể tích của các hình như: hình tròn, hình trụ, hình chữ nhật, hình vuông.

Mỗi loại hình sẽ có các thuộc tính và phương thức tương ứng với loại hình đó. Mối quan hệ giữa các loại hình được thể hiện trong biểu đồ lớp dưới đây:

Hệ các đối tượng hình học

Hướng dẫn

Bước 1: Định nghĩa lớp Shape

Tạo file với tên Shape.php, bên trong chúng ta sẽ viết code để định nghĩa lớp hình học.

Mã PHP:

Bước 2: Định nghĩa lớp Circle, kế thừa từ lớp Shape

Tạo file với tên Cricle.php, bên trong chúng ta sẽ viết code định nghĩa lớp hình tròn được kế thừa các thuộc tính và phương thức từ lớp hình học.

Mã PHP:

Bước 3: Định nghĩa lớp Cylinder, kế thừa từ lớp Circle

Tạo file với tên Cylinder, bên trong chúng ta sẽ viết code để định nghĩa lớp hình trụ bao gồm các thuộc tính, phương thức riêng đặc trưng và kế thừa các thuộc tính và phương thức từ lớp hình tròn.

Mã PHP:

Bước 4: Định nghĩa lớp Rectangle, kết thừa từ lớp Shape

Tạo file với tên Rectangle.php, bên trong chúng ta sẽ viết code định nghĩa lớp hình tròn được kế thừa các thuộc tính và phương thức từ lớp hình học.

Mã PHP:

Bước 5: Định nghĩa lớp Square, kết thừa từ lớp Rectangle

Tạo file với tên Square.php, bên trong chúng ta sẽ viết code định nghĩa lớp hình tròn được kế thừa các thuộc tính và phương thức từ lớp hình chữ nhật.

Mã PHP:

Bước 6: Tạo các đối tượng, gọi các phương thức và quan sát kết quả

  • Tạo một hình tròn, tính diện tích và chu vi của hình tròn đó
  • Tạo một hình trụ, tính diện tích, chu vi và thể tích của hình trụ đó
  • Tạo một hình chữ nhật, tính diện tích và chu vi của hình chữ nhật đó
  • Tạo một hìnhh vuông, tính diện tích và chu vi của hình vuông đó

Link code tham khảo: https://github.com/codegym-vn/php-shape

Trên đây CodeGym đã cùng với bạn luyện tập triển khai cơ chế kế thừa trong OOP. 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é!