Pertanyaan yang diberi tag «inheritance»

Warisan adalah cara untuk menggunakan kembali kode objek yang ada, atau untuk membuat subtipe dari objek yang ada, atau keduanya, tergantung pada dukungan bahasa pemrograman.

5
Bagaimana mendefinisikan bahwa suatu metode dapat ditimpa komitmen yang lebih kuat daripada mendefinisikan bahwa suatu metode dapat dipanggil?
Dari: http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma: Saya masih berpikir itu benar bahkan setelah sepuluh tahun. Warisan adalah cara yang keren untuk mengubah perilaku. Tetapi kita tahu bahwa itu rapuh, karena subclass dapat dengan mudah membuat asumsi tentang konteks di mana metode yang ditimpa dipanggil. Ada hubungan erat antara kelas dasar dan subkelas, …



3
Apakah pengembangan Java biasanya melibatkan lebih banyak subkelas daripada C # /. NET?
Saya baru-baru ini mulai melihat pengembangan Android. Ini telah membawa saya kembali ke dunia pengembangan perangkat lunak Java. Terakhir kali saya bekerja dengan Java, saya akui, saya tidak memahami OOP sebanyak yang saya kira sekarang. Karena sebagian besar menggunakan C # dalam karir saya, saya melihat perbedaan yang mengejutkan dalam …

5
Apakah campuran Python anti-pola?
Saya sepenuhnya menyadari hal itu pylintdan alat analisis statis lainnya tidak semuanya tahu, dan kadang-kadang saran mereka harus tidak taat. (Ini berlaku untuk berbagai kelas pesan, bukan hanya conventions.) Jika saya punya kelas suka class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): def __init__(self): self.stack …

7
Mengapa konstruktor tidak diwariskan?
Saya bingung apa masalahnya jika konstruktor diwarisi dari kelas dasar. Cpp Primer Plus mengatakan, Konstruktor berbeda dari metode kelas lain dalam hal mereka membuat objek baru, sedangkan metode lain dipanggil oleh objek yang ada . Ini adalah salah satu alasan konstruktor tidak diwariskan . Warisan berarti objek yang diturunkan dapat …
33 c++  inheritance 

10
Apakah saya boleh memiliki objek yang melemparkan diri mereka sendiri, bahkan jika itu mencemari API subkelas mereka?
Saya memiliki kelas dasar Base,. Ini memiliki dua subclass, Sub1dan Sub2. Setiap subkelas memiliki beberapa metode tambahan. Misalnya, Sub1memiliki Sandwich makeASandwich(Ingredients... ingredients), dan Sub2memilikiboolean contactAliens(Frequency onFrequency) . Karena metode ini mengambil parameter yang berbeda dan melakukan hal yang sama sekali berbeda, mereka sepenuhnya tidak kompatibel, dan saya tidak bisa menggunakan …

10
Apakah "Induk x = Anak baru ();" bukannya "Anak x = Anak baru ();" praktik yang buruk jika kita dapat menggunakan yang terakhir?
Sebagai contoh, saya telah melihat beberapa kode yang membuat fragmen seperti ini: Fragment myFragment=new MyFragment(); yang mendeklarasikan variabel sebagai Fragmen alih-alih MyFragment, yang MyFragment adalah kelas anak dari Fragment. Saya tidak puas dengan baris kode ini karena saya pikir kode ini seharusnya: MyFragment myFragment=new MyFragment(); mana yang lebih spesifik, apakah …


7
Haruskah saya menguji metode yang diwariskan?
Misalkan saya memiliki Manajer kelas yang berasal dari Karyawan kelas dasar , dan Karyawan itu memiliki metode getEmail () yang diwarisi oleh Manajer . Haruskah saya menguji bahwa perilaku metode getEmail () manajer sebenarnya sama dengan perilaku karyawan? Pada saat tes-tes ini ditulis, tingkah lakunya akan sama, tetapi tentu saja …


5
Banyak kelas kecil vs. logika yang rumit (tetapi) rumit
Saya bertanya-tanya apa yang lebih baik dalam hal desing OOP yang baik, kode bersih, fleksibilitas dan menghindari bau kode di masa depan. Situasi gambar, di mana Anda memiliki banyak objek yang sangat mirip, Anda perlu mewakili sebagai kelas. Kelas-kelas ini tanpa fungsi spesifik apa pun, hanya kelas data dan berbeda …

3
Apakah ada bahasa OO tanpa warisan?
Selama ulasan kode hari ini, seorang rekan saya mengatakan sesuatu yang menarik: prototypehanya berguna ketika Anda membutuhkan warisan - dan kapan warisan merupakan ide bagus ? Saya memikirkan hal ini dan saya menyadari bahwa saya biasanya menggunakan warisan untuk menyiasati kode yang awalnya dirancang dengan buruk. Gaya OO modern lebih …

3
Desain terbaik untuk formulir Windows yang akan berbagi fungsionalitas umum
Di masa lalu, saya telah menggunakan warisan untuk memungkinkan ekstensi formulir Windows di aplikasi saya. Jika semua formulir saya akan memiliki kontrol umum, karya seni, dan fungsionalitas, saya akan membuat formulir dasar yang menerapkan kontrol dan fungsionalitas umum dan kemudian mengizinkan kontrol lain untuk mewarisi dari formulir dasar itu. Namun, …

3
Bagaimana penguatan prasyarat dan melemahnya postkondisi melanggar prinsip substitusi Liskov?
Saya membaca bahwa prinsip substitusi Liskov dilanggar jika: Prasyarat diperkuat, atau Postconditions melemah Tapi saya belum mengerti sepenuhnya bagaimana kedua poin ini akan melanggar prinsip substitusi Liskov. Bisakah seseorang tolong jelaskan dengan sebuah contoh. Secara khusus, bagaimana salah satu dari kondisi di atas menyebabkan situasi di mana objek subclass tidak …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.