Pertanyaan yang diberi tag inheritance

Warisan adalah sistem dalam pemrograman berorientasi objek yang memungkinkan objek untuk mendukung operasi yang ditentukan oleh tipe anterior tanpa harus memberikan definisi sendiri. Ini adalah vektor utama untuk polimorfisme dalam pemrograman berorientasi objek.

1400
Mengapa tidak mewarisi dari Daftar <T>?

Ketika merencanakan program saya, saya sering memulai dengan rantai pemikiran seperti: Tim sepak bola hanyalah daftar pemain sepakbola. Karena itu, saya harus mewakilinya dengan: var football_team = new List<FootballPlayer>(); Urutan daftar ini mewakili urutan pemain terdaftar dalam...

1249
Apa perbedaan antara tipe () dan isinstance ()?

Apa perbedaan antara kedua fragmen kode ini? Menggunakan type(): import types if type(a) is types.DictType: do_something() if type(b) in types.StringTypes: do_something_else() Menggunakan isinstance(): if isinstance(a, dict): do_something() if isinstance(b, str) or isinstance(b,...

955
Apa itu mixin, dan mengapa mereka berguna?

Dalam " Pemrograman Python ", Mark Lutz menyebutkan "mixins". Saya dari latar belakang C / C ++ / C # dan saya belum pernah mendengar istilah sebelumnya. Apa itu mixin? Membaca yang tersirat dari contoh ini (yang saya tautkan karena cukup panjang), saya anggap ini adalah kasus menggunakan multiple...

608
Panggil metode kelas induk dari kelas anak?

Saat membuat hierarki objek sederhana dalam Python, saya ingin dapat memanggil metode dari kelas induk dari kelas turunan. Di Perl dan Java, ada kata kunci untuk ini ( super). Di Perl, saya mungkin melakukan ini: package Foo; sub frotz { return "Bamf"; } package Bar; @ISA = qw(Foo); sub frotz...

564
Apa yang 'super' lakukan di Python?

Apa perbedaan antara: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() dan: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self) Saya telah melihat supercukup banyak digunakan di kelas dengan hanya satu warisan. Saya bisa melihat...