Tôi mới sử dụng Ruby. Một ví dụ đơn giản, những gì tôi cần:Các giải pháp thay thế cho các lớp trừu tượng trong Ruby?
class Animal
abstract eat()
class Cat < Animal
eat():
implementation
class Dog < Animal
eat():
implementation
Nói cách khác, phương thức eat() phải được yêu cầu cho tất cả các lớp mở rộng Động vật.
Trong JAVA tôi chỉ sử dụng một lớp trừu tượng, nhưng sau khi thực hiện một số nghiên cứu, tôi thấy rằng nhiều người không sử dụng nó trong Ruby và mixin/modules được đề nghị thay thế.
Tuy nhiên, tôi không hiểu, nếu mô-đun có thể làm nhiều hơn là chỉ bao gồm một phương pháp bổ sung. Để được chính xác, các module có thể thiết lập các yêu cầu cho các lớp mà các phương thức mà chúng phải thực hiện (nếu có, một ví dụ sẽ được đánh giá cao)?
Tóm lại, tôi nên sử dụng điều gì trong trường hợp này, khi tôi muốn chắc chắn rằng tất cả các lớp cùng loại có phương pháp cụ thể và triển khai chúng theo cách riêng của chúng?
Trích dẫn gì về 'NotImplementedError' và bộ phận hạ cánh của máy bay? –