Tək-tür (ördəklər) tipinin prinsipi və proqramlaşdırmada necə tətbiq olunduğu haqqında izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Ördək tipi (duck typing) proqramlaşdırmada bir konsepsiyadır ki, burada obyektin tipi onun sinfi və ya irsiyyəti ilə deyil, müəyyən metodlar və xüsusiyyətlərin mövcudluğu ilə müəyyən edilir.
"Əgər bir şey ördək kimi görünürsə, ördək kimi üzür və ördək kimi qışqırırsa, onda bu bir ördəkdir" ifadəsi mahiyyətini əks etdirir: obyektin tipi deyil, onun davranışı vacibdir.
C#-də bu, dinamik dillərdəki kimi daxili mexanizm deyil, lakin interfeyslər və ya dinamik tip (dynamic) vasitəsilə təqlid oluna bilər. Məsələn, əgər obyekt lazım olan metodları həyata keçirirsə, onu sərt tip yoxlaması olmadan istifadə etmək mümkündür.
Dynamic ilə nümunə:
void MakeItQuack(dynamic duck) {
duck.Quack();
}
class Duck {
public void Quack() {
Console.WriteLine("Qıqqı!");
}
}
MakeItQuack(new Duck());
Burada, ötürülən obyektin Quack metoduna malik olması vacibdir, əks halda icra zamanı xəta baş verəcək.