Sobes.tech
Junior — Middle

Бирдиктүү (тууган) типтөө принцибин түшүндүрө аласызбы жана ал программалоодо кандай колдонулат?

sobes.tech AI

AIден жооп

Өрүк типтөө (duck typing) — бул программалоодо концепция, анда объекттин тиби анын классы же мурас алуу менен эмес, белгилүү ыкмалары жана мүнөздөмөлөрүнүн болушу менен аныкталат.

"Эгер бир нерсе өрүккө окшошуп көрүнсө, өрүккө окшошуп сүзсө жана өрүккө окшошуп кычкырса, анда ал өрүк" деген фраза негизин чагылдырат: маанилүү эмес объекттин тиби, анын жүрүм-туруму маанилүү.

C#да бул ички механизм эмес, динамик тилдердегидей, бирок интерфейстер же динамик түрү (dynamic) аркылуу имитациялоо мүмкүн. Мисалы, эгер объект керектүү ыкмаларды ишке ашырса, аны катуу түрдө текшербестен колдонсо болот.

Динамик менен мисал:

void MakeItQuack(dynamic duck) {
    duck.Quack();
}

class Duck {
    public void Quack() {
        Console.WriteLine("Квак!");
    }
}

MakeItQuack(new Duck());

Бул жерде маанилүү, өткөрүлгөн объект Quack ыкмасын камтышы керек, башкача учурда ишке ашырылуу учурунда ката пайда болот.