Code:
void MainWidget::loadDocument( QString absolute_document_path ){
...
setDocumentClass();
...
mask->fill(document->getFileContent(), document->getFileInfo());
...
}
void RecipeMask::fill( QString file_content, QFileInfo fileinfo ){
...
//////////////////////
// get preparation //
//////////////////////
...
this->preparation_te->setText( exp.cap(1) );
...
}
Preparation ist nur in der abgeleiteten Klasse RecipeMask enthalten. Vom Methodenaufruf unterscheidet sich der Code nicht.
Natürlich kann man jetzt sagen, das man eine SuperMaske hätte erstellen können und je nach Anwendungsfall die Members darstellen und auswerten.
Code:
class BookMask: public Mask{
...
QTextEdit *description_te;
...
}
class RecipeMask: public Mask{
...
QTextEdit *description_te;
...
}
Doch finde ich es so viel übersichtlicher.
Lesezeichen