Alternativen zu abstrakte Klassen in Ruby?

Ich bin neu in Ruby. Ein einfaches Beispiel, was ich brauche:

class Animal
   abstract eat()

class Cat < Animal
   eat():
     implementation

class Dog < Animal
   eat():
     implementation

In anderen Worten, das Essen () - Methode sollte erforderlich sein für alle Klassen, die zu verlängern Tier.

In JAVA würde ich nur verwenden eine abstrakte Klasse, aber nach einigen Forschung, fand ich, dass viele Menschen nicht nutzen es in Ruby und Mixins /Module empfohlen anstelle.

Allerdings verstehe ich nicht, wenn die Module können mehr als nur eine Ergänzung Methoden. Um genau zu sein, können Module festgelegt, die Anforderungen für die Klassen, die Methoden, die Sie implementieren müssen (wenn ja, ein Beispiel wäre sehr hilfreich)?

Zusammenfassend, was soll ich in diesem Fall verwenden, wenn ich will sicher sein, dass alle Klassen den gleichen Typ haben, insbesondere Methoden und implementieren Sie in Ihren eigenen Weg?

  • Was ist das Zitat über die NotImplementedError und das Fahrwerk von Flugzeugen?
InformationsquelleAutor krn | 2010-10-23
Schreibe einen Kommentar