Ketika memodelkan suatu objek dengan anak-anak, biasanya memasukkan anak-anak melalui komposisi, sebagai anggota kelas induk. Namun terkadang anak-anak perlu memberi tahu orang tua sesuatu, mereka perlu memanggil fungsi orang tua. Bagaimana ini bisa dilakukan menggunakan C ++? Beberapa opsi adalah:
Jadikan kelas induk global karena itu objek anak akan dapat memanggil fungsi anggota dari objek induk.
Suntikkan objek induk sebagai, penunjuk atau referensi, ke setiap objek anak. Kemudian ketika anak perlu memberi tahu objek orang tua sesuatu, ia selalu dapat melakukannya karena ia memiliki variabel anggota yang dapat digunakan.
Apa metode lain untuk melakukan ini? Apakah ada pola desain umum atau nama untuk hal semacam ini?
Perhatikan bahwa saya tertarik pada ide dan solusi dalam C ++ karena detailnya akan berbeda dalam bahasa berorientasi objek lainnya. Misalnya poin 2 di atas menyebutkan 'pointer atau referensi' dan keduanya hanya mungkin dalam C ++. C ++ memiliki fitur bahasa yang tidak ada dalam bahasa lain sehingga implementasi solusi untuk masalah tersebut berpotensi menggabungkan fitur-fitur bahasa ini sehingga membuat solusi berbeda dari apa yang mungkin muncul dalam bahasa lain.
delegate
sudah cukup?