Duck Typing - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Örnek
  • 2 Statik olarak yazılmış dillerde
  • 3 Kaynakça

Duck Typing

  • العربية
  • Беларуская (тарашкевіца)
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Suomi
  • Français
  • Galego
  • İtaliano
  • 日本語
  • 한국어
  • മലയാളം
  • Bahasa Melayu
  • Nederlands
  • Polski
  • Português
  • Русский
  • Simple English
  • Svenska
  • ไทย
  • Українська
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

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

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

Boo gibi bazı statik olarak yazılmış dillerde,[1] 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.[2]

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ "Boo dilinde duck typing". 6 Ekim 2008 tarihinde kaynağından arşivlendi. 
  2. ^ "Bir StackOverflow sorusu 'Java MethodHandles kullanarak Duck Typing uygulaması'". 1 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Ağustos 2020. 
"https://tr.wikipedia.org/w/index.php?title=Duck_Typing&oldid=32763378" sayfasından alınmıştır
Kategori:
  • Programlama
  • Sayfa en son 15.54, 12 Mayıs 2024 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Duck Typing
Konu ekle