Penjenisan itik

Dalam mengatur cara komputer dengan bahasa pengaturcaraan berorientasi objek, penjenisan itik (bahasa Inggerisnya duck typing) ialah satu gaya penjenisan dinamik di mana warisan daripada kelas tertentu atau pelaksanaan antara muka tertentu bagi sesebuah objek tidak menentukan semantik yang sah, sebaliknya ditentukan oleh kaedah-kaedah dan sifat-sifatnya.

Contoh

Ini ialah contoh mudah dalam Python 3 yang menunjukkan cara mana-mana objek boleh digunakan dalam mana-mana konteks, sehingga ia digunakan dalam cara yang tidak disokong.￼

class Duck:
    def swim(self):
        print("Duck swimming")

    def fly(self):
        print("Duck flying")

class Whale:
    def swim(self):
        print("Whale swimming")

for animal in [Duck(), Whale()]:
    animal.swim()
    animal.fly()

Output:
Duck swimming
Duck flying
Whale swimming
AttributeError: 'Whale' object has no attribute 'fly'

Jadi, jika kita menganggap semua yang boleh berenang adalah itik kerana itik boleh berenang, kita akan menganggap ikan paus sebagai itik, tetapi, jika kita juga menganggap ia mesti mampu terbang, ikan paus itu tidak akan dianggap.

ContohIni ialah contoh mudah dalam Python 3 yang menunjukkan cara mana-mana objek boleh digunakan dalam mana-mana konteks, sehingga ia digunakan dalam cara yang tida

Dalam Bahasa yang ditaip secara statik

Dalam sesetengah bahasa yang ditaip secara statik seperti C# dan Boo , pemeriksaan jenis kelas [3] [4] boleh ditentukan untuk berlaku pada masa larian dan bukannya masa menyusun. Penaipan itik boleh dicapai dalam Java menggunakan MethodHandle API. [5]

ڤربنديڠن دڠن سيستم جنيس لاءين

Kategori:Pengaturcaraan berorientasi objek
Kategori:Teori jenis