Sobes.tech
Junior — Middle

Puteți explica principiul tipizării unitar-bărcuță (rață) și cum se aplică în programare?

sobes.tech AI

Răspuns de la AI

Tipizarea rață (duck typing) este un concept în programare în care tipul unui obiect nu este determinat de clasa sau moștenirea sa, ci de prezența anumitor metode și proprietăți.

Fraza "Dacă ceva arată ca o rață, înoată ca o rață și quack ca o rață, atunci este o rață" reflectă esența: nu tipul obiectului contează, ci comportamentul său.

În C# nu este un mecanism încorporat ca în limbajele dinamice, dar poate fi imitat prin interfețe sau tipizare dinamică (dynamic). De exemplu, dacă un obiect implementează metodele necesare, poate fi folosit fără o verificare strictă a tipului.

Exemplu cu dynamic:

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

class Duck {
    public void Quack() {
        Console.WriteLine("Quack!");
    }
}

MakeItQuack(new Duck());

Aici, este important ca obiectul transmis să aibă metoda Quack, altfel va apărea o eroare în timpul execuției.