Tentu saja bisa, saya hanya ingin tahu apakah rasional untuk mendesain sedemikian rupa.
Saya membuat klon breakout dan sedang melakukan beberapa desain kelas. Saya ingin menggunakan warisan, meskipun saya tidak harus, untuk menerapkan apa yang telah saya pelajari di C ++. Saya sedang berpikir tentang desain kelas dan datang dengan sesuatu seperti ini:
GameObject -> kelas dasar (terdiri dari anggota data seperti offset x dan y, dan vektor SDL_Surface *
MovableObject: GameObject -> kelas abstrak + kelas turunan dari GameObject (satu metode batal bergerak () = 0;)
NonMovableObject: GameObject -> kelas kosong ... tidak ada metode atau anggota data selain konstruktor dan destruktor (setidaknya untuk saat ini?).
Kemudian saya berencana untuk mendapatkan kelas dari NonMovableObject, seperti Tileset: NonMovableObject. Saya hanya ingin tahu apakah kelas abstrak "kosong" atau hanya kelas kosong sering digunakan ... Saya perhatikan bahwa cara saya melakukan ini, saya hanya membuat kelas NonMovableObject hanya untuk kategorisasi.
Saya tahu saya terlalu memikirkan hal-hal hanya untuk membuat klon breakout, tetapi fokus saya kurang pada permainan dan lebih banyak menggunakan pewarisan dan merancang semacam kerangka permainan.
MovableObject
tidakNonMovableObject
dapat mewarisi satu sama lain, mereka berdua memiliki lokasi; karena itu, keduanya harus dikonsumsi oleh kode yang misalnya ingin mengarahkan tujuan monster ke suatu objek tanpa memperhatikan apakah objek itu mungkin bergerak atau tidak.