Rumah >pembangunan bahagian belakang >C++ >Kenapa anda harus mengelakkan mewarisi dari senarai?
mengapa anda harus secara umumnya mengelakkan mewarisi dari List<T>
membentangkan beberapa kelemahan yang signifikan. List<T>
Kebimbangan prestasi:
sangat dioptimumkan untuk prestasi. Warisan secara tidak sengaja boleh mengganggu pengoptimuman ini, yang membawa kepada pelaksanaan yang lebih perlahan. List<T>
Isu reka bentuk API:
Kaedah awam yang mewarisi mendedahkan butiran pelaksanaan, mengurangkan fleksibiliti untuk pengubahsuaian masa depan, terutama ketika membuat API awam. List<T>
ketegaran dan lanjutan terhad: Sifat umum tujuan umum boleh bertembung dengan keperluan khusus koleksi adat. Warisan boleh mencipta reka bentuk yang tidak fleksibel yang tidak dapat menampung ciri atau tingkah laku yang unik.
List<T>
Alternatif yang lebih baik:
Microsoft mencadangkan sebagai kelas asas yang lebih sesuai, walaupun ia memberikan titik permulaan yang kurang kaya.
Collection<T>
Komposisi ke atas warisan:
Pendekatan unggul sering komposisi: merangkumi contoh dalam kelas tersuai anda. Ini memanjangkan fungsi tanpa menjejaskan prestasi atau tingkah laku asal
.
List<T>
List<T>
pemodelan struktur tersuai dengan berkesan:
bukannya melihat struktur tersuai sebagai "senarai yang dihiasi," merawatnya sebagai entiti yang berbeza. Tentukan sifat dan tingkah laku terasnya, kemudian model secara langsung.
senario yang boleh diterima untuk warisan:
Terdapat situasi terhad di mana mewarisi dari adalah wajar:
List<T>
Atas ialah kandungan terperinci Kenapa anda harus mengelakkan mewarisi dari senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!