Penjenisan itik

Daripada Wikipedia, ensiklopedia bebas.
Pergi ke pandu arah Pergi ke carian

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[sunting | sunting sumber]

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[sunting | sunting sumber]

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]

ڤربنديڠن دڠن سيستم جنيس لاءين[sunting | sunting sumber]