Junior — Middle
Dasturlash tillarida umumiyliklar (Generics) qanday qilib polimorfizm tushunchasini amalga oshiradi?
sobes.tech AI
AIdan javob
Generyklar (Generics) turli ma'lumot turlari bilan ishlaydigan funksiyalar, sinflar va metodlarni yaratishga imkon beradi va bu turdagi xavfsizlikni saqlab qoladi. Bu bir xil kodning turli turlardagi obyektlarni ishlashiga imkon beradigan polimorfizm (ko'p shakllilik) konseptini amalga oshiradi.
An'anaviy polimorfizmga qaraganda, meros olish va virtual metodlar orqali emas, generyklar kompilatsiya vaqtida tur darajasida polimorfizmni ta'minlaydi, bu esa unumdorlik va xavfsizlikni oshiradi.
Dart (Flutter) misoli:
class Box<T> {
T value;
Box(this.value);
void show() {
print('Qiymat: $value');
}
}
void main() {
var intBox = Box<int>(123);
var stringBox = Box<String>('Salom');
intBox.show(); // Qiymat: 123
stringBox.show(); // Qiymat: Salom
}
Bu yerda, Box sinfi har qanday T tur bilan ishlaydi, bu generyklar orqali polimorfizmni ko'rsatadi.