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.

9
Bagaimana merancang untuk warisan menyebabkan biaya tambahan? [Tutup]
Ditutup . Pertanyaan ini didasarkan pada pendapat . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga dapat dijawab dengan fakta dan kutipan dengan mengedit posting ini . Ditutup 6 tahun yang lalu . Jadi saya ingin mewarisi dari sealed classdalam CSharp dan terbakar. Tidak ada cara …
12 c#  inheritance 



5
Haruskah saya lebih suka komposisi atau warisan dalam skenario ini?
Pertimbangkan sebuah antarmuka: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Antarmuka ini diimplementasikan oleh sejumlah kelas yang menghasilkan gelombang dengan bentuk yang berbeda (misalnya, SineWaveGeneratordan SquareWaveGenerator). Saya ingin menerapkan kelas yang menghasilkan SoundWaveberdasarkan pada data musik, bukan data suara mentah. Itu akan menerima nama catatan dan panjang dalam …

5
Antarmuka terpisah untuk metode mutasi
Saya telah bekerja pada refactoring beberapa kode, dan saya pikir saya mungkin telah mengambil langkah pertama ke lubang kelinci. Saya menulis contoh di Jawa, tapi saya kira itu bisa menjadi agnostik. Saya memiliki antarmuka yang Foodidefinisikan sebagai public interface Foo { int getX(); int getY(); int getZ(); } Dan implementasi …


5
Bagaimana cara menerapkan pewarisan RealNumber dan ComplexNumber?
Semoga tidak terlalu akademik ... Katakanlah saya membutuhkan angka nyata dan kompleks di perpustakaan SW saya. Berdasarkan hubungan is-a (atau di sini ), bilangan real adalah bilangan kompleks, di mana b di bagian imajiner bilangan kompleks hanyalah 0. Di sisi lain, implementasi saya akan menjadi, bahwa anak memperpanjang orangtua, jadi …

5
Apakah saya tetap bisa melanggar LSP?
Saya menindaklanjuti pertanyaan ini , tetapi saya mengalihkan fokus saya dari kode ke prinsip. Dari pemahaman saya tentang prinsip substitusi Liskov (LSP), metode apa pun yang ada di kelas dasar saya, mereka harus diimplementasikan dalam subkelas saya, dan menurut halaman ini , jika Anda mengganti metode di kelas dasar dan …

1
Apakah ada situasi di mana akan lebih baik menggunakan referensi yang lemah daripada komposisi sederhana?
Meskipun dokumen Java menentukan, bahwa referensi Lemah terutama untuk pemetaan kanonik, Anda akan menemukan banyak , banyak , banyak orang di internet yang menyatakan, bahwa WeakHashMap sangat cocok untuk menyimpan metadata objek selama masa pakainya. Namun, tidak ada yang mengganggu untuk membuat contoh yang komprehensif DAN tepat . Menggunakan WeakHashMap …

2
Apakah pewarisan Python merupakan gaya pewarisan "is-a" atau gaya komposisi?
Mengingat bahwa Python memungkinkan pewarisan berganda, seperti apa pewarisan idiomatik dalam Python? Dalam bahasa dengan pewarisan tunggal, seperti Java, pewarisan akan digunakan ketika Anda bisa mengatakan bahwa satu objek "adalah-a" dari objek lain dan Anda ingin berbagi kode antara objek (dari objek induk ke objek anak). Misalnya, Anda dapat mengatakan …


12
Apakah "Jika suatu metode digunakan kembali tanpa perubahan, letakkan metode tersebut di kelas dasar, selain itu membuat antarmuka" aturan yang baik?
Seorang kolega saya datang dengan aturan praktis untuk memilih antara membuat kelas dasar atau antarmuka. Dia berkata: Bayangkan setiap metode baru yang akan Anda implementasikan. Untuk masing-masing dari mereka, pertimbangkan ini: akankah metode ini diterapkan oleh lebih dari satu kelas dalam bentuk yang persis seperti ini, tanpa perubahan apa pun …

2
Mengapa penggunaan konstruktor tidak disarankan saat membuat prototipe?
Latar belakang cepat: Dalam JavaScript, fungsi konstruktor untuk setiap jenis objek memiliki prototypeproperti. The prototypemengacu pada sebuah objek yang masing-masing dibangun menggunakan objek sebagai langkah berikutnya dalam rantai prototipe. Saat Anda ingin satu tipe melekat dari tipe lain, Anda bisa mengatur prototypetipe anak ke instance baru dari tipe induk. Sebagai …


5
Antarmuka dan Warisan: Terbaik dari kedua dunia?
Saya 'menemukan' antarmuka dan saya mulai menyukainya. Keindahan antarmuka adalah bahwa itu adalah kontrak, dan objek apa pun yang memenuhi kontrak itu dapat digunakan di mana pun antarmuka itu diperlukan. Masalah dengan antarmuka adalah bahwa itu tidak dapat memiliki implementasi standar, yang merupakan rasa sakit untuk properti biasa dan mengalahkan …

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.