Pertanyaan yang diberi tag oop

1130
Apa tujuan dari kata 'diri'?

Apa tujuan dari selfkata dalam Python? Saya mengerti itu merujuk ke objek spesifik yang dibuat dari kelas itu, tapi saya tidak bisa melihat mengapa itu secara eksplisit perlu ditambahkan ke setiap fungsi sebagai parameter. Sebagai ilustrasi, di Ruby saya bisa melakukan ini: class myClass def...

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...

872
Mengapa setTimeout (fn, 0) terkadang berguna?

Saya baru-baru ini mengalami bug yang agak jahat, di mana kode itu memuat secara <select>dinamis melalui JavaScript. Ini dimuat secara dinamis <select>memiliki nilai yang dipilih sebelumnya. Di IE6, kami sudah memiliki kode untuk memperbaiki yang dipilih <option>, karena...

814
Apa artinya "memprogram ke antarmuka"?

Saya telah melihat ini disebutkan beberapa kali dan saya tidak jelas apa artinya. Kapan dan mengapa Anda melakukan ini? Saya tahu apa yang dilakukan antarmuka, tetapi fakta saya tidak jelas tentang hal ini membuat saya berpikir saya kehilangan menggunakannya dengan benar. Apakah itu hanya jika...

799
Meniru loop do-while di Python?

Saya perlu meniru loop do-while dalam program Python. Sayangnya, kode langsung berikut ini tidak berfungsi: list_of_ints = [ 1, 2, 3 ] iterator = list_of_ints.__iter__() element = None while True: if element: print element try: element = iterator.next() except StopIteration: break print...

794
Apa yang __init__ dan self lakukan pada Python?

Saya belajar bahasa pemrograman Python dan saya menemukan sesuatu yang saya tidak sepenuhnya mengerti. Dalam metode seperti: def method(self, blah): def __init__(?): .... .... Apa yang selfharus dilakukan Apa artinya itu? Apakah ini wajib? Apa yang dilakukan __init__metode ini? Mengapa itu...

767
Antarmuka vs kelas Basis

Kapan saya harus menggunakan antarmuka dan kapan saya harus menggunakan kelas dasar? Haruskah selalu menjadi antarmuka jika saya tidak ingin benar-benar menentukan implementasi dasar dari metode? Jika saya memiliki kelas Anjing dan Kucing. Mengapa saya ingin mengimplementasikan IPet daripada...