Bilgisayar programlamasında Duck Typing(Ördek Yazımı) bir yazılım kavramıdır, bir nesnenin belirli bir amaç için kullanılıp kullanılamayacağını belirlemek için bir uygulamadır. Kavramın adı Ördek testinden gelmektedir testin mantığı kısaca "Ördek gibi yürüyorsa ve ördek gibi vaklıyorsa, o zaman bir ördek olmalıdır" cümlesidir. Normal programlamada, uygunluk bir nesnenin türüne göre belirlenir. Duck Typing'de, bir nesnenin uygunluğu, nesnenin kendisinin türünden ziyade belirli yöntemlerin ve özelliklerin varlığıyla belirlenir.
Örnek
Aşağıdaki örnek Python 3'te Ördek Yazımının nasıl kullanılabileceğini gösteren basit bir örnektir.
class Ördek: def uç(self): print("Ördek uçuyor") class Kartal: def uç(self): print("Kartal uçuyor") class Balina: def yüz(self): print("Balina yüzüyor") for hayvan in Ördek(), Kartal(), Balina(): hayvan.uç()
Yukarıdaki programın çıktısı şu şekildedir:
Ördek uçuyor Kartal uçuyor AttributeError: 'Balina' object has no attribute 'uç'
Yukarıdaki AttributeError hatasının Türkçesi:
NitelikHatası: 'Balina' nesnesinin 'uç' niteliği yok
Statik olarak yazılmış dillerde
Boo gibi bazı statik olarak yazılmış dillerde, sınıf türü denetiminin derleme zamanı yerine çalışma zamanında gerçekleşeceği belirtilebilir. Java'da Duck typing, MethodHandle API kullanılarak gerçekleştirilebilir.
Kaynakça
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar programlamasinda Duck Typing Ordek Yazimi bir yazilim kavramidir bir nesnenin belirli bir amac icin kullanilip kullanilamayacagini belirlemek icin bir uygulamadir Kavramin adi Ordek testinden gelmektedir testin mantigi kisaca Ordek gibi yuruyorsa ve ordek gibi vakliyorsa o zaman bir ordek olmalidir cumlesidir Normal programlamada uygunluk bir nesnenin turune gore belirlenir Duck Typing de bir nesnenin uygunlugu nesnenin kendisinin turunden ziyade belirli yontemlerin ve ozelliklerin varligiyla belirlenir OrnekAsagidaki ornek Python 3 te Ordek Yaziminin nasil kullanilabilecegini gosteren basit bir ornektir class Ordek def uc self print Ordek ucuyor class Kartal def uc self print Kartal ucuyor class Balina def yuz self print Balina yuzuyor for hayvan in Ordek Kartal Balina hayvan uc Yukaridaki programin ciktisi su sekildedir Ordek ucuyor Kartal ucuyor AttributeError Balina object has no attribute uc Yukaridaki AttributeError hatasinin Turkcesi NitelikHatasi Balina nesnesinin uc niteligi yokStatik olarak yazilmis dillerdeBoo gibi bazi statik olarak yazilmis dillerde sinif turu denetiminin derleme zamani yerine calisma zamaninda gerceklesecegi belirtilebilir Java da Duck typing MethodHandle API kullanilarak gerceklestirilebilir Kaynakca 6 Ekim 2008 tarihinde kaynagindan arsivlendi Bir StackOverflow sorusu Java MethodHandles kullanarak Duck Typing uygulamasi 1 Temmuz 2020 tarihinde kaynagindan Erisim tarihi 15 Agustos 2020