Endi quyidagi usulni ko'rib chiqing: public void boxTest(Box n) { /* ... */ } U qanday argumentni qabul qiladi? Uning imzosiga qarab, u Box turi bo'lgan bitta argumentni qabul qilishini ko'rishingiz mumkin . Lekin bu nimani anglatadi? Siz kutganingizdek Box yoki Box ga o'tishga ruxsat berilganmi ? Javob "yo'q", chunki Box va Box Box ning pastki turlari emas . Bu generiklar bilan dasturlash haqida gap ketganda keng tarqalgan tushunmovchilik, ammo bu o'rganish uchun muhim tushunchadir. Xulosa qilib shuni aytish mumkinki, Generics ishlatadigan dasturlar umumiy bo'lmagan kodga nisbatan ko'p afzalliklarga ega ekanligini bilib oldik.Generics kodni qayta ishlatishga yordam berishi Java-dagi generiklar yordamida biz har xil turdagi ma'lumotlar bilan ishlaydigan kod yozishimiz mumkin ekan. Umumiy algoritmlardan foydalanib, biz har xil turdagi ob'ektlarda ishlaydigan algoritmlarni amalga oshirishimiz mumkin va shu bilan birga, ular ham xavfsizdir. Foydalanilgan adabiyotlar - https://javarush.ru/groups/posts/2004-teorija-dzhenerikov-v-java-ili-gde-na-praktike-stavitjh-skobki
- https://docs.oracle.com/javase/tutorial/java/generics/inheritance.html
- https://docs.oracle.com/javase/tutorial/java/generics/inheritance.html
- https://www.geeksforgeeks.org/generics-in-java/#:~:text=Generics%20means%20parameterized%20types.,work%20with%20different%20data%20types.
Do'stlaringiz bilan baham: |