Duck typing: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
lit., drobne redakcyjne
Znacznik: Edytor kodu źródłowego 2017
drobne redakcyjne, wikizacja
Znacznik: Edytor kodu źródłowego 2017
Linia 1:
'''Duck typing''' – rozpoznawanie [[Typ danych|typu]] [[Obiekt (programowanie obiektowe)|obiektu]] nie na podstawie [[Deklaracja (informatyka)|deklaracji]], ale przez [[Mechanizm refleksji|badanie]] [[Metoda (programowanie obiektowe)|metod]] udostępnionych przez obiekt. Technika ta wywodzi się z powiedzenia: „jeśli chodzi jak [[Kaczki|kaczka]] i kwacze jak kaczka, to musi być kaczką”.
 
MetodaDuck tatyping możezazwyczaj byćwykorzystuje wykorzystywanasię w [[Typowanie dynamiczne|dynamicznych]] [[Język programowania|językach programowania]] takich jak [[Python]], [[Ruby (język programowania)|Ruby]], [[Groovy]] czy [[JavaScript]]. W językach z [[Typowanie statyczne|typowaniem statycznym]] stosuje się zamiast tego [[Polimorfizm (informatyka)|polimorfizm]].
Kacze typowanie znajduje najczęściej zastosowanie podczas rzutowania typów i przeciążania operatorów, w którym do określenia, czy obiekt może stworzyć wyrażenie z obiektem innego typu wykorzystywana jest odpowiednia metoda konwersji lub obsługi.
 
== Przykłady ==
Metoda ta może być wykorzystywana w [[Typowanie dynamiczne|dynamicznych]] [[Język programowania|językach programowania]] takich jak [[Python]], [[Ruby (język programowania)|Ruby]], [[Groovy]] czy [[JavaScript]].
 
=== Ruby ===
<syntaxhighlight lang="ruby">