Saya bertanya-tanya apa yang lebih baik dalam hal desing OOP yang baik, kode bersih, fleksibilitas dan menghindari bau kode di masa depan. Situasi gambar, di mana Anda memiliki banyak objek yang sangat mirip, Anda perlu mewakili sebagai kelas. Kelas-kelas ini tanpa fungsi spesifik apa pun, hanya kelas data dan berbeda hanya berdasarkan nama (dan konteks) Contoh:
Class A
{
String name;
string description;
}
Class B
{
String name;
String count;
String description;
}
Class C
{
String name;
String count;
String description;
String imageUrl;
}
Class D
{
String name;
String count;
}
Class E
{
String name;
String count;
String imageUrl;
String age;
}
Apakah lebih baik menyimpannya di kelas terpisah, untuk mendapatkan keterbacaan "lebih baik", tetapi dengan banyak pengulangan kode, atau akan lebih baik menggunakan pewarisan untuk menjadi lebih KERING?
Dengan menggunakan warisan, Anda akan berakhir dengan sesuatu seperti ini, tetapi nama kelas akan kehilangan makna kontekstualnya (karena is-a, bukan has-a):
Class A
{
String name;
String description;
}
Class B : A
{
String count;
}
Class C : B
{
String imageUrl;
}
Class D : C
{
String age;
}
Saya tahu pewarisan bukan dan tidak boleh digunakan untuk penggunaan kembali kode, tapi saya tidak melihat cara lain yang mungkin bagaimana mengurangi pengulangan kode dalam kasus seperti itu.