Lớp hình chữ nhật php
Khi nói đến Lập trình hướng đối tượng, Đa hình thực sự là một công cụ tuyệt vời và mạnh mẽ mà bạn cần phải làm quen hoàn toàn nhưng nếu bạn còn khá mới với OOP, chỉ riêng từ Đa hình có thể khiến bạn hơi sợ nhưng sự thật là Đa hình chỉ là . Nói đủ rồi, Đa hình là gì? Đầu tiên, nó bắt nguồn từ các từ Hy Lạp Poly (có nghĩa là nhiều) và morph (có nghĩa là hình thức) Đa hình đơn giản là một mẫu thiết kế OOP cho phép nhiều lớp với nhiều chức năng khác nhau triển khai hoặc chia sẻ một Giao diện chung Tính thẩm mỹ của tính đa hình là mã làm việc với các lớp khác nhau không cần biết nó đang sử dụng lớp nào vì tất cả chúng đều được sử dụng theo cùng một cách Tính đa hình trong PHP được triển khai bằng cách sử dụng mẫu giao diện. Hãy nghĩ về giao diện như bộ xương hoặc bản thiết kế cho lớp của bạn để thực hiện nó interface shapesInterface{ Đoạn mã trên có một giao diện có tên là shapeInterface Một giao diện tương tự như một lớp ngoại trừ việc nó không thể chứa mã mà chỉ có khai báo phương thức và khai báo này chỉ có thể hoạt động với phạm vi công khai như bên dưới interface shapesInterface{ Một giao diện có thể xác định tên phương thức và đối số, nhưng không phải nội dung của phương thức. Bất kỳ lớp nào triển khai giao diện phải triển khai tất cả các phương thức được xác định bởi giao diện. Dưới đây là những điểm chính của Giao diện
// Below is an example of what point 1 denotes:class Rectangle implements shapesInterface{ public function getArea(){ return "Rectangle Area"; }} Như chúng ta có thể thấy từ ví dụ trên, lớp Rectangle đang cài đặt shapeInterface mà chúng ta đã tạo trước đó và nó có cùng tên phương thức chung với shapeInterface (getArea) ngoại trừ phương thức giao diện không có mã trong đó //First things first, define the interfaceinterface shapesInterface{ //First method public function getArea(); //Second method Khi triển khai một giao diện, một lớp phải gọi tất cả các phương thức trong giao diện mà nó đang triển khai như đã thấy ở trên, khi triển khai lớp đầu tiên được hiển thị, một lỗi nghiêm trọng sẽ xảy ra do nó không triển khai tất cả các phương thức trong shapeInterface 2. Các lớp triển khai khác nhau có thể triển khai các giao diện đó theo yêu cầu của chúng class Polygon implements shapesInterface{public function getArea(){return "Polygon Area";}public function totalWidthSize(){return "Total width Size";}} Như đã thấy ở trên, trong khi Rectangle đang triển khai shapeInterface, các lớp khác cũng có thể thực hiện tương tự như lớp Polygon ở trên nhưng tất cả chúng đều phải tuân theo kiến trúc giao diện Một trường hợp khác mà tính đa hình có thể thực sự hữu ích trong PHP là khi bạn bảo vệ một hàm bằng cách truyền tên lớp trong khi truyền một đối tượng. Chúng ta hãy xem ví dụ dưới đây /* Ví dụ trên chỉ là một điều bình thường trong OOP, nhưng nếu chúng ta muốn các lớp khác ngoài Hình chữ nhật được truyền dưới dạng tham số cho hàm tính toánRectangle ở trên, tất cả những gì chúng ta phải làm là bọc tất cả chúng trong một giao diện và chỉ cần gọi giao diện //PHP will clearly understand that this is an interface and we want only the class in this interface to be passed into this method belowfunction calculateRectangle(shapesInterface$object){// return $object->getArea();} Tóm lại, Đa hình mô tả một mẫu trong Lập trình hướng đối tượng trong đó một lớp có chức năng khác nhau trong khi chia sẻ một giao diện chung |