Tôi hiểu rằng mô hình OO của Perl khá nguyên thủy; nó là, trong hầu hết các khía cạnh, về cơ bản là một hack không gian tên.Tôi có thể tạo giao diện giống như Java trong Perl không?
Tuy nhiên, tôi tự hỏi liệu có thể tạo ra thứ gì đó giống như "giao diện" không? Mục tiêu của tôi là có một lớp cơ sở mà từ đó những người khác được mở rộng có mục đích chính là bắt buộc thực hiện các phương thức nhất định (theo tên là tốt, không cần chữ ký) bởi các lớp con đó. Tôi không thực sự quan tâm nếu đó là một lớp "thuần túy ảo" (như một "giao diện" trong Java) hoặc một lớp cụ thể với các khai triển thực tế cho các phương thức đó trong lớp cha, nhưng điều tôi muốn là làm cho nó cần thiết subclass thực hiện các phương thức nhất định của superclass.
Điều này có khả thi không? Nếu vậy, làm thế nào?
OO của Perl không phải là nguyên thủy, nó chỉ là một cách tiếp cận khái niệm khác. –
Tôi nghĩ anh ấy có nghĩa là nguyên thủy về mặt tính năng được cung cấp. OO có một vài nguyên tắc hướng dẫn, và đóng gói là một trong số chúng. Perl đang thực hiện đóng gói theo quy ước, trừ khi một người sử dụng các thư viện hiện đại hơn, vì vậy có, OO của Perl là nguyên thủy, dựa vào các nhà phát triển trong tương lai để duy trì quy ước thay vì kiểm tra thời gian biên dịch nghiêm ngặt. Ý tôi là, người này đang yêu cầu giao diện/lớp học ảo thuần túy, và nó không có mà không có phần mở rộng. Đó không phải là "đầy đủ tính năng". –