Pytania otagowane jako duck-typing

4
Przebaczenie w Pythonie vs. pozwolenie i pisanie kaczek
W Pythonie często słyszę, że lepiej „błagać o wybaczenie” (wyłapywanie wyjątków) zamiast „pytać o pozwolenie” (sprawdzanie typu / warunku). Jeśli chodzi o wymuszanie pisania kaczek w Pythonie, to jest to try: x = foo.bar except AttributeError: pass else: do(x) lepszy czy gorszy niż if hasattr(foo, "bar"): do(foo.bar) else: pass pod …


4
Dlaczego wiele dynamicznych języków programowania typu kaczych stosuje podejście oparte na klasach zamiast OOP opartego na prototypach?
Ponieważ dość wiele dynamicznych języków programowania ma funkcję pisania kaczego , mogą też w dowolnym momencie otwierać i modyfikować metody klas lub instancji (takie jak Ruby i Python ), a następnie… Pytanie 1) Jaka jest potrzeba zajęć w dynamicznym języku? Dlaczego język jest zaprojektowany w taki sposób, aby używać klasy …

6
Czy kaczka wpisuje podzbiór polimorfizmu
Od polimorfizmu na WIkipedii W informatyce polimorfizm to funkcja języka programowania, która umożliwia obsługę wartości różnych typów danych przy użyciu jednolitego interfejsu. Z pisania kaczek na Wikipedii W programowaniu komputerowym z obiektowymi językami programowania typowanie dynamiczne jest stylem dynamicznego pisania, w którym aktualny zestaw metod i właściwości obiektu określa prawidłową …

3
Jak korzystać z pisania kaczego w javascript bez zawsze sprawdzania właściwości i metod?
Wiem, że javascript używa pisania kaczego i na początku myślałem, że to ułatwi polimorfizm w porównaniu do silnie pisanych języków, takich jak C #. Ale teraz moje funkcje pobierające argumenty są zaśmiecone takimi rzeczami: if(myObj.hasSomeProperty()) lub if(myObj.hasSomeMethod()) lub if(isNumber(myParam)) itp. To jest dla mnie naprawdę brzydkie. Pochodzę z tła C …

1
Wpisywanie kaczek, sprawdzanie poprawności danych i asertywne programowanie w języku Python
O pisaniu kaczek : Wpisywaniu kaczek pomaga zwykle nie testować typów argumentów w metodach i funkcjach, polegając na dokumentacji, czytelnym kodzie i testowaniu w celu zapewnienia poprawnego użycia. Informacje na temat sprawdzania poprawności argumentów (EAFP: Łatwiej prosić o wybaczenie niż pozwolenie). Dostosowany przykład stąd : ... uważa się za bardziej …

1
Interfejsy niejawne vs. jawne
Myślę, że rozumiem rzeczywiste ograniczenia polimorfizmu w czasie kompilacji i polimorfizmu w czasie wykonywania. Ale jakie są koncepcyjne różnice między jawnymi interfejsami (polimorfizm w czasie wykonywania, tj. Funkcje wirtualne i wskaźniki / referencje) a interfejsami niejawnymi (polimorfizm w czasie kompilacji, tj. Szablony) . Uważam, że dwa obiekty, które oferują ten …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.