Đa kế thừa trong hàm tạo python
Trong bài viết trước của chúng ta, khi chúng ta đang nói về thừa kế, một 4 đang kế thừa các thuộc tính và chức năng của một 4 khác. Vậy đa thừa kế là gì? Show Giống như một đứa trẻ ngoài đời có những đặc điểm của cả bố và mẹ. Hãy bắt tay vào viết mã ngay lập tức, bạn sẽ hiểu rõ hơn nhiều
Bây giờ chúng ta hãy xem đầu ra;
Như bạn có thể thấy, chúng tôi đã lấy và sử dụng các chức năng của nhiều lớp Nhưng có một điểm rất quan trọng mà chúng ta cần chú ý là trong multifunction, chúng ta chỉ có thể sử dụng một 4, một thuộc tính hoặc một hàm trùng tên thôi, ví dụ ngay thôi
Cả lớp 9 và lớp 0 đều có thuộc tính 1Vì vậy, hãy xem lớp 2 sẽ kế thừa từ lớp nào 2Đúng như chúng tôi đoán, cô ấy mang đặc điểm của lớp 3. Bởi vì trước tiên, lớp 9 được kế thừa các thuộc tính của nó. Bây giờ hãy thay đổi nó và lần này kế thừa lớp 0 trước 6đầu tiên, chúng tôi kế thừa lớp 0, hãy xem đầu ra của chúng tôi 8Bây giờ bạn sẽ nói rằng tại sao tôi phải tạo một hàm có cùng tên, tôi sẽ tạo một hàm có tên khác. Nhưng hãy nhớ rằng, bạn có thể không đơn độc trong một dự án. Bạn có thể gặp phải những vấn đề như vậy khi làm việc với nhiều người. Hãy nói về những việc cần làm nếu hàm xây dựng 7 tồn tại trong cả hai lớp. Hãy thể hiện nó ngay bây giờ; 0Như bạn có thể thấy khi chúng tôi chạy mã của mình 1Chúng tôi nhận được kết quả như vậy Vì vậy, vì chúng tôi kế thừa lớp 0 trước nên thuộc tính của lớp 0 được ưu tiên. Chà, bây giờ bạn sẽ nói rằng chúng ta không thể tự thay đổi thứ tự ưu tiên này khi thích hợp? Hàm xây dựng trong đa kế thừa 4Hãy nhìn vào đầu ra; 5Ở đây chúng ta đã ưu tiên hàm 7 của lớp 9. Các bạn để ý một chút sẽ thấy câu này, chúng ta chỉ nhận được hàm 7 chứ không phải tất cả các thuộc tính và hàm của lớp 9. Làm thế nào chúng ta có thể nhận được thông tin từ đây? Hãy cho thấy nó với một ví dụ 0đầu ra 1Như bạn có thể thấy, đứa trẻ đã nhận được đặc điểm màu mắt từ Mẹ và đặc điểm chiều cao từ Cha. Lý do là vì chúng ta viết lớp 0 trước nên nó kế thừa hàm 28 của lớp 0. Nhưng vì chúng ta đã chỉ định hàm 7 của lớp 9 là ưu tiên, nên nó kế thừa hàm 7 của lớp Mother là ưu tiênTheo cách tương tự, nếu chúng ta ưu tiên hàm 28 của lớp 9, thì hàm 28 của lớp 9 sẽ được ưu tiên 2Khi chúng ta nhìn vào đầu ra, bạn sẽ thấy rằng nó kế thừa cả hai thuộc tính từ lớp 9 3Như bạn có thể thấy, mặc dù chúng ta đã viết lớp 0 trước nhưng nó lại lấy các thuộc tính của lớp 9 vì chúng ta đã ưu tiên cho các thuộc tính của lớp 9
Chúng ta có thể sử dụng hàm tạo trong thừa kế trong Python không?Ví dụ về thừa kế
. Hàm tạo của lớp con luôn được gọi đến hàm tạo của lớp cha để khởi tạo giá trị cho các thuộc tính trong lớp cha, sau đó nó bắt đầu gán giá trị cho các thuộc tính của nó. constructor of class used to create an object (instance), and assign the value for the attributes. Constructor of subclasses always called to a constructor of parent class to initialize value for the attributes in the parent class, then it start assign value for its attributes.
Constructor nào được gọi trong đa kế thừa?Constructor tự động được gọi khi đối tượng được tạo. Đa thừa kế. Đa kế thừa là một tính năng của C++ trong đó một lớp có thể xuất phát từ một số (hai hoặc nhiều) lớp cơ sở. Các hàm tạo của các lớp kế thừa được gọi theo cùng thứ tự mà chúng được kế thừa .
Làm thế nào hàm tạo được thực thi trong nhiều kế thừa?Trình xây dựng. Trong đa kế thừa, hàm tạo của lớp cơ sở và hàm tạo của lớp dẫn xuất được tự động thực thi khi một đối tượng của lớp dẫn xuất được tạo . Hàm tạo của lớp cơ sở được thực thi trước, sau đó mới thực hiện hàm tạo của lớp dẫn xuất.
Bạn có thể có nhiều hàm tạo trong Python không?Cung cấp nhiều hàm tạo với @classmethod trong Python. Một kỹ thuật hiệu quả để cung cấp nhiều hàm tạo trong Python là sử dụng @classmethod . Trình trang trí này cho phép bạn biến một phương thức thông thường thành một phương thức lớp. Không giống như các phương thức thông thường, các phương thức lớp không lấy thể hiện hiện tại, self, làm đối số. |