instanziiert Wenn ich ein Book
Modell haben:Wie man richtig eine Unterklasse in Ruby
class Book < ApplicationRecord
def calculate_page
.
.
end
end
Und ich erstellen Sie eine benutzerdefinierte Unterklasse ExtendedBook
:
class ExtendedBook < Book
end
Wie ich ein erweitertes Buch Objekt do instanziiert, die erbt eine Buchinstanz mit ihren Instanzmethoden. Etwas auf den Linien von:
@book = Book.first
@extended_book = ExtendedBook.new (@book, @attributes_for_extended_book)
Damit ich schließlich in der Lage bin die @book
‚s Instanzmethoden direkt im @extended_book
Objekt zu verwenden wie:
@extended_book.calculate_page
, ohne manuell eine attr_getter definieren calculate_page
in der Unterklasse .
Wie sieht Ihre Methode 'Book # initialize' aus? Welche Instanzvariablen benutzt 'calculate_page' und wie sind sie mit' @ book' und '@ attributes_for_extended_book' verbunden? – spickermann
Ich habe das Gefühl, was Sie jetzt haben sollten .... –
Es ist nicht klar, was die Frage ist - in welchem Kontext möchten Sie dies tun, und warum? Was ist ein 'ExtendedBook'? Sind es nur Methoden, die Sie zu "Book" hinzufügen möchten? Wie unterscheidet man ein "Book" von einem "ExtendedBook"? –