Pertanyaan yang diberi tag «object-oriented»

Metodologi yang memungkinkan suatu sistem dimodelkan sebagai sekumpulan objek yang dapat dikontrol dan dimanipulasi secara modular


7
Mengapa penciptaan instan seperti itu?
Saya telah belajar C # selama sekitar enam bulan terakhir dan sekarang saya mempelajari Jawa. Pertanyaan saya adalah tentang pembuatan instance (dalam kedua bahasa, sungguh) dan ini lebih dari: Saya bertanya-tanya mengapa mereka melakukannya dengan cara itu. Ambil contoh ini Person Bob = new Person(); Apakah ada alasan bahwa objek …

4
Mengapa mendefinisikan objek Java menggunakan antarmuka (misalnya Peta) daripada implementasi (HashMap)
Di sebagian besar kode Java, saya melihat orang mendeklarasikan objek Java seperti ini: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); dari pada: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Mengapa ada preferensi untuk mendefinisikan objek Java menggunakan antarmuka daripada implementasi yang sebenarnya …

5
Kapan menggunakan antarmuka (pengujian unit, IOC?)
Saya curiga saya membuat kesalahan anak sekolah di sini, dan saya sedang mencari klarifikasi. Banyak kelas dalam solusi saya (C #) - berani saya katakan mayoritas - Saya akhirnya menulis antarmuka yang sesuai untuk. Misalnya antarmuka "ICalculator" dan kelas "Kalkulator" yang mengimplementasikannya, meskipun saya tidak akan pernah mungkin mengganti kalkulator …

6
Apakah bebek mengetik subset polimorfisme
Dari Polimorfisme di WIkipedia Dalam ilmu komputer, polimorfisme adalah fitur bahasa pemrograman yang memungkinkan nilai-nilai dari tipe data yang berbeda ditangani menggunakan antarmuka yang seragam. Dari mengetik bebek di Wikipedia Dalam pemrograman komputer dengan bahasa pemrograman berorientasi objek, pengetikan bebek adalah gaya pengetikan dinamis di mana serangkaian metode dan properti …



6
Metode rantai vs enkapsulasi
Ada masalah OOP klasik dari metode chaining vs metode "single-access-point": main.getA().getB().getC().transmogrify(x, y) vs. main.getA().transmogrifyMyC(x, y) Yang pertama tampaknya memiliki keuntungan bahwa masing-masing kelas hanya bertanggung jawab untuk satu set operasi yang lebih kecil, dan membuat semuanya lebih modular - menambahkan metode ke C tidak memerlukan upaya apa pun dalam A, …

11
Apa yang membuat pemrograman berorientasi objek berhasil? [Tutup]
Seperti saat ini, pertanyaan ini tidak cocok untuk format tanya jawab kami. Kami berharap jawaban didukung oleh fakta, referensi, atau keahlian, tetapi pertanyaan ini kemungkinan akan mengundang debat, argumen, polling, atau diskusi panjang. Jika Anda merasa bahwa pertanyaan ini dapat diperbaiki dan mungkin dibuka kembali, kunjungi pusat bantuan untuk panduan. …


6
Kapan enum BUKAN bau kode?
Dilema Saya telah membaca banyak buku praktik terbaik tentang praktik berorientasi objek, dan hampir setiap buku yang saya baca memiliki bagian di mana mereka mengatakan bahwa enum adalah bau kode. Saya pikir mereka telah melewatkan bagian di mana mereka menjelaskan kapan enum valid. Karena itu, saya mencari pedoman dan / …

5
MVC: Apakah Pengendali melanggar Prinsip Tanggung Jawab Tunggal?
Prinsip Tanggung Jawab Tunggal menyatakan bahwa "kelas harus memiliki satu alasan perubahan". Dalam pola MVC, tugas Pengontrol adalah memediasi antara View dan Model. Ini menawarkan antarmuka untuk tampilan untuk melaporkan tindakan yang dibuat oleh pengguna pada GUI (misalnya memungkinkan tampilan untuk memanggil controller.specificButtonPressed()), dan dapat memanggil metode yang sesuai pada …



5
Apakah kontrak semantik antarmuka (OOP) lebih informatif daripada tanda tangan fungsi (FP)?
Dikatakan oleh beberapa orang bahwa jika Anda mengambil prinsip-prinsip SOLID secara ekstrem, Anda berakhir pada pemrograman fungsional . Saya setuju dengan artikel ini, tetapi saya berpikir bahwa beberapa semantik hilang dalam transisi dari antarmuka / objek ke fungsi / penutupan, dan saya ingin tahu bagaimana Pemrograman Fungsional dapat mengurangi kerugian. …

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.