Kovarian, Invarian dan Kontravarian Diterangkan dalam Bahasa Inggeris Biasa
Pengenalan:
Memahami kovarian, invarian, dan kontravarians boleh mencabar, tetapi ia penting untuk memahami transformasi jenis dan hubungan di Jawa. Artikel ini bertujuan untuk memudahkan konsep ini dan memberikan contoh dunia sebenar untuk meningkatkan pemahaman.
Kovarian:
Kovarians menerangkan transformasi jenis yang perhubungan subjenis dikekalkan. Jika jenis A ialah subjenis jenis B, maka penjelmaan f(A) akan menghasilkan f(B) menjadi subjenis f(A).
Contoh:
Pertimbangkan satu penjelmaan f(Senarai) = Senarai
Invarian:
Invarian berlaku apabila hubungan subjenis tidak dipengaruhi oleh transformasi jenis. Jika A ialah subjenis B, maka f(A) tidak akan menjadi subjenis atau superjenis f(B).
Contoh:
Generik Java berkelakuan dalam cara yang tidak berubah . Contohnya, f(ArrayList) = ArrayList. Sejak ArrayList dan ArrayList adalah jenis yang berbeza, bukan juga subjenis atau superjenis yang lain.
Kontravarian:
Kontravarian ialah songsangan bagi kovarians. Hubungan subjenis diterbalikkan semasa transformasi. Jika A ialah subjenis B, maka f(B) akan menjadi subjenis f(A).
Contoh:
Pertimbangkan jenis penjelmaan f(A[]) = B[]. Di Jawa, tatasusunan adalah kovarian, yang bermaksud bahawa jika A[] ialah subjenis B[], maka f(A[]) = B[] juga akan menjadi subjenis f(B[]) = B[].
Aplikasi:
Kovarian, invarian dan kontravarian memainkan peranan penting dalam Java:
Atas ialah kandungan terperinci Kovarian, Invarian dan Kontravarian di Jawa: Apakah Perbezaannya dan Mengapa Saya Perlu Peduli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!