Proyek GUI saya di Qtmemiliki banyak kelas "halaman konfigurasi" yang semuanya diturunkan langsung dari QWidget.
Baru-baru ini, saya menyadari bahwa semua kelas ini berbagi 2 slot commons ( loadSettings()dan saveSettings()).
Mengenai ini, saya punya dua pertanyaan:
- Apakah masuk akal untuk menulis kelas abstrak dasar menengah (sebut saja
BaseConfigurationPage) dengan dua slot ini sebagai metode murni virtual? (Setiap halaman konfigurasi yang memungkinkan akan selalu memiliki dua metode ini, jadi saya akan mengatakan "ya") - Sebelum saya melakukan perubahan besar dalam kode saya (jika saya harus): apakah Qt mendukung slot murni virtual? Apakah ada yang harus saya waspadai?
Berikut adalah contoh kode yang menjelaskan semuanya:
class BaseConfigurationPage : public QWidget
{
// Some constructor and other methods, irrelevant here.
public slots:
virtual void loadSettings() = 0;
virtual void saveSettings() = 0;
};
class GeneralConfigurationPage : public BaseConfigurationPage
{
// Some constructor and other methods, irrelevant here.
public slots:
void loadSettings();
void saveSettings();
};