«duck-typing» etiketlenmiş sorular

4
Python Affetme - İzin ve Ördek Yazma
Python'da sık sık "izin istemek" yerine "af dilemenin" (istisna yakalama) daha iyi olduğunu duyuyorum (tip / durum kontrolü). Python'da ördek yazmaya zorlama açısından, bu try: x = foo.bar except AttributeError: pass else: do(x) daha iyi veya daha kötü if hasattr(foo, "bar"): do(foo.bar) else: pass performans, okunabilirlik, "pitonik" veya başka bir …


4
Neden birçok ördek tipi dinamik programlama dili prototip tabanlı OOP yerine sınıf tabanlı bir yaklaşım kullanıyor?
Oldukça dinamik programlama dilleri ördek yazma özelliğine sahip olduklarından ve istedikleri zaman ( Ruby ve Python gibi ) sınıf veya örnek yöntemlerini açıp değiştirebilirler . Soru 1) Dinamik bir dilde bir sınıfa ihtiyaç var mı? Dil neden bir sınıfı prototip yapmak yerine bir çeşit “şablon” olarak kullanmak ve sadece bir …

6
Ördek bir polimorfizm alt kümesi yazıyor mu
WIkipedia Üzerinde Polimorfizm'den Bilgisayar biliminde, polimorfizm, farklı veri türlerinin değerlerinin tekdüze bir arayüz kullanılarak ele alınmasını sağlayan bir programlama dili özelliğidir. Wikipedia'da yazarak ördek Nesne yönelimli programlama dilleri ile bilgisayar programlamasında, ördek yazma, bir nesnenin geçerli yöntem ve özellik kümesinin, belirli bir sınıftan veya belirli bir arabirimin uygulanmasından miras almak …

3
Her zaman özellikleri ve yöntemleri kontrol etmeden Javascript'te ördek yazmayı nasıl kullanırsınız?
Javascript ördek yazarak kullanır biliyorum ve ilk başta bu C # gibi güçlü yazılan dillere göre polimorfizmi kolay olacağını düşündüm. Ama şimdi argüman alan işlevlerim şu gibi şeylerle doludur: if(myObj.hasSomeProperty()) veya if(myObj.hasSomeMethod()) veya if(isNumber(myParam)) vb. Bu benim için gerçekten çirkin. Bir C # arka plan geliyor ve tanımlanmış arayüzleri çok …

1
Python'da ördek yazma, veri doğrulama ve iddialı programlama
Hakkında ördek yazarak : Ördek yazmaya, yöntem ve işlev gövdelerindeki bağımsız değişken türlerini alışkanlık olarak sınamayarak, belgelere, açık koda ve doğru kullanımı sağlamak için sınanmaya dayanarak yardım edilir. Argüman validasyonu hakkında (EAFP: Bağışlama izni istemekten daha kolaydır). Buradan uyarlanmış bir örnek : ... daha pitonik olduğu düşünülüyor: def my_method(self, key): …

1
Örtük ve açık arabirimler
Derleme zamanı polimorfizminin ve çalışma zamanı polimorfizminin gerçek sınırlamalarını anladığımı düşünüyorum. Ancak açık arayüzler (çalışma zamanı polimorfizmi, yani sanal fonksiyonlar ve işaretçiler / referanslar) ve örtülü arayüzler (derleme zamanı polimorfizmi, yani şablonlar) arasındaki kavramsal farklar nelerdir . Düşüncelerim, aynı açık arabirimi sunan iki nesnenin aynı türde nesne (veya ortak bir …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.