Junior — Middle
Можете ли објаснити принцип унитарне (паткасте) типизације и како се он примењује у програмирању?
sobes.tech АИ
Одговор од АИ
Tip tipa patke (duck typing) je koncept u programiranju gde se tip objekta ne određuje njegovom klasom ili nasledjivanjem, već prisustvom određenih metoda i svojstava.
Fraza "Ako nešto izgleda kao patka, pliva kao patka i kvoca kao patka, onda je to patka" odražava suštinu: važan nije tip objekta, već njegovo ponašanje.
U C# to nije ugrađeni mehanizam kao u dinamičkim jezicima, ali se može imitirati putem interfejsa ili dinamičkog tipa (dynamic). Na primer, ako objekat implementira potrebne metode, može se koristiti bez stroge provere tipa.
Primer sa dynamic:
void MakeItQuack(dynamic duck) {
duck.Quack();
}
class Duck {
public void Quack() {
Console.WriteLine("Kvak!");
}
}
MakeItQuack(new Duck());
Ovde je važno da objekat koji se prosleđuje ima metodu Quack, u suprotnom će doći do greške tokom izvršavanja.