sách gpt4 ăn đã đi

'Siêu' làm gì trong Python? - Sự khác biệt giữa super().__init__() và lớp cha rõ ràng (siêu lớp) __init__()

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 12:01:58 30 4
mua khóa gpt4 giày nike

Sự khác biệt là gì:

lớp Child(SomeBaseClass):
định nghĩa __init__(bản thân):
super(Con, bản thân).__init__()

Và:
lớp Child(SomeBaseClass):
định nghĩa __init__(bản thân):
SomeBaseClass.__init__(bản thân)

tôi đã nhìn thấy siêuĐược sử dụng rộng rãi trong các lớp chỉ có sự kế thừa duy nhất. Tôi có thể hiểu lý do tại sao bạn sử dụng nó trong đa kế thừa, nhưng không rõ lợi ích của việc sử dụng nó trong trường hợp này là gì.

câu trả lời hay nhất

siêu()Lợi ích của việc kế thừa đơn là tối thiểu - trong hầu hết các trường hợp, bạn không cần phải mã hóa cứng tên của lớp cơ sở vào mọi phương thức sử dụng phương thức gốc của nó.

Nhưng nếu không siêu(), hầu như không thể sử dụng đa kế thừa. .Điều này bao gồm các thành ngữ phổ biến như mixins, giao diện, lớp trừu tượng, v.v. Điều này mở rộng tới mã trong tương lai và mở rộng mã của bạn. Nếu sau này có ai muốn viết phần mở rộng Đứa trẻ các lớp và mixin, mã của chúng sẽ không hoạt động bình thường.

Giới thiệu về python - 'super' làm gì trong Python? - Sự khác biệt giữa super().__init__() và lớp cha rõ ràng (super class) __init__(), chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/222877/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress