Mixin: Satu Bentuk Warisan Berbilang untuk Peningkatan Kelas
Rujukan Mark Lutz kepada "mixins" dalam Programming Python menimbulkan persoalan bagi mereka yang biasa dengan bahasa berasaskan C. Mixin ialah jenis warisan berbilang tertentu yang membenarkan untuk melanjutkan kelas tanpa subkelas tradisional.
Penggunaan Mixin
Mixin digunakan terutamanya dalam dua situasi:
Sebagai contoh, dalam sistem permintaan dan tindak balas Werkzeug, anda boleh mencipta objek permintaan asas menggunakan BaseRequest. Untuk menambah sokongan pengepala terima, gunakan AcceptMixin:
from werkzeug import BaseRequest, AcceptMixin class Request(AcceptMixin, BaseRequest): pass
Untuk berbilang ciri pilihan (cth., terima pengepala, etag, pengesahan), anda boleh merantai berbilang campuran:
from werkzeug import BaseRequest, AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthenticationMixin class Request(AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthenticationMixin, BaseRequest): pass
Perbezaan daripada Pelbagai Warisan
Campuran berbeza daripada tradisional pewarisan berganda dalam tujuan yang dimaksudkan. Mixin, seperti dalam contoh di atas, selalunya berfungsi sebagai komponen tambahan yang menambah kelas sedia ada. Sebaliknya, warisan berbilang biasa menunjukkan bahawa kelas yang diwarisi boleh berdiri sendiri (cth., Pengesah).
Kelebihan Mixin
Mixin menawarkan beberapa faedah:
Atas ialah kandungan terperinci Apakah Mixin dan Bagaimana Mereka Meningkatkan Fungsi Kelas dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!