Hướng dẫn how do you use parent class in python? - làm thế nào để bạn sử dụng lớp cha trong python?

Khi tạo một hệ thống phân cấp đối tượng đơn giản trong Python, tôi muốn có thể gọi các phương thức của lớp cha từ một lớp dẫn xuất. Trong Perl và Java, có một từ khóa cho điều này [

class Foo[Bar]:
    def baz[self, **kwargs]:
        return super[].baz[**kwargs]
9]. Ở Perl, tôi có thể làm điều này:

package Foo;

sub frotz {
    return "Bamf";
}

package Bar;
@ISA = qw[Foo];

sub frotz {
   my $str = SUPER::frotz[];
   return uc[$str];
}

Trong Python, có vẻ như tôi phải đặt tên cho lớp cha mẹ một cách rõ ràng từ đứa trẻ. Trong ví dụ trên, tôi phải làm một cái gì đó như

class Foo[Bar]:
    def baz[self, arg]:
        return super[Foo, self].baz[arg]
0.

Điều này dường như không đúng vì hành vi này làm cho nó khó thực hiện các hệ thống phân cấp sâu. Nếu trẻ em cần biết lớp nào xác định một phương pháp di truyền, thì tất cả các loại đau thông tin được tạo ra.

Đây có phải là một giới hạn thực sự trong Python, một khoảng cách trong sự hiểu biết của tôi hay cả hai?

Siêu bão

4.7485 Huy hiệu vàng20 Huy hiệu bạc32 Huy hiệu Đồng5 gold badges20 silver badges32 bronze badges

Hỏi ngày 30 tháng 4 năm 2009 lúc 1:52Apr 30, 2009 at 1:52

3

Sử dụng chức năng

class Foo[Bar]:
    def baz[self, arg]:
        return super[Foo, self].baz[arg]
1:

class Foo[Bar]:
    def baz[self, **kwargs]:
        return super[].baz[**kwargs]

Đối với Python

Bài Viết Liên Quan

Chủ Đề