Pertanyaan yang diberi tag «object-oriented»

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



18
Apa yang akan Anda lakukan jika klien Anda meminta Anda untuk tidak menggunakan pemrograman berorientasi objek?
Saya menulis sebuah program untuk mensimulasikan aktivitas semut dalam kotak (PDF). Semut dapat bergerak, mengambil barang-barang dan menjatuhkan barang-barang. Masalahnya adalah sementara aksi semut dan posisi masing-masing semut dapat dilacak dengan atribut kelas dengan mudah (dan kami dapat dengan mudah membuat banyak contoh semut tersebut) klien saya mengatakan bahwa karena …

14
Mengapa benda dilewatkan dengan referensi?
Seorang rekan kerja muda yang sedang mempelajari OO telah bertanya kepada saya mengapa setiap objek dilewatkan dengan referensi, yang merupakan kebalikan dari tipe atau struct primitif. Ini adalah karakteristik umum dari bahasa seperti Java dan C #. Saya tidak dapat menemukan jawaban yang bagus untuknya. Apa motivasi untuk keputusan desain …

10
Apakah Anda biasanya mengirim objek atau variabel anggotanya ke dalam fungsi?
Praktek yang diterima secara umum di antara kedua kasus ini: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } atau function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Dengan kata lain apakah umumnya lebih baik untuk melewatkan seluruh objek di sekitar atau hanya bidang yang …

5
Apakah metode beton utama menimpa bau kode?
Benarkah metode konkret yang utama adalah bau kode? Karena saya pikir jika Anda perlu mengganti metode konkret: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } dapat ditulis ulang sebagai public interface A{ public void a(); } public class ConcreteA …

7
Apakah ini bau kode untuk mengatur bendera dalam satu lingkaran untuk menggunakannya nanti?
Saya memiliki sepotong kode di mana saya mengulangi peta sampai kondisi tertentu benar dan kemudian menggunakan kondisi itu untuk melakukan beberapa hal lagi. Contoh: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { limitFlag = true; …

10
Diberi kawanan kuda, bagaimana cara menemukan panjang tanduk rata-rata semua unicorn?
Pertanyaan di atas adalah contoh abstrak dari masalah umum yang saya temui dalam kode lama, atau lebih tepatnya, masalah yang dihasilkan dari upaya sebelumnya dalam memecahkan masalah ini. Saya bisa memikirkan setidaknya satu .NET framework metode yang dimaksudkan untuk mengatasi masalah ini, seperti Enumerable.OfType<T>metode ini. Tetapi fakta bahwa Anda akhirnya …

10
Bagaimana para pendukung Pemrograman Fungsional menjawab pernyataan ini dalam Kode Lengkap?
Pada halaman 839 edisi kedua, Steve McConnell sedang mendiskusikan semua cara yang bisa dilakukan "programmer menaklukkan kompleksitas" dalam program besar. Kiatnya berujung pada pernyataan ini: "Pemrograman berorientasi objek menyediakan tingkat abstraksi yang berlaku untuk algoritma dan data pada saat yang sama , semacam abstraksi yang tidak disediakan oleh dekomposisi fungsional." …

10
Antarmuka pada kelas abstrak
Rekan kerja saya dan saya memiliki pendapat berbeda tentang hubungan antara kelas dasar dan antarmuka. Saya berkeyakinan bahwa suatu kelas tidak boleh mengimplementasikan antarmuka kecuali kelas itu dapat digunakan ketika implementasi antarmuka diperlukan. Dengan kata lain, saya suka melihat kode seperti ini: interface IFooWorker { void Work(); } abstract class …

3
Apa arti "S" dalam OOPS?
Saya telah mencari bentuk lengkap " OOPS " di Google , tetapi sayangnya, ada banyak jawaban yang ambigu. Ada yang bilang itu " Sistem ", dan ada yang bilang itu " Struktur ", dan beberapa bahkan menyebutnya sebagai " Sinopsis ". Adakah yang bisa tolong mencerahkan saya, untuk menemukan bentuk …

8
Apakah dapat menyalin dan menempelkan kode yang panjang tapi langsung daripada membungkusnya ke dalam kelas atau fungsi?
Misalkan saya memiliki segmen kode untuk terhubung ke internet dan menunjukkan hasil koneksi seperti itu: HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some other different cases)){ (some other alert) …

6
Buat objek baru atau setel ulang setiap properti?
public class MyClass { public object Prop1 { get; set; } public object Prop2 { get; set; } public object Prop3 { get; set; } } Misalkan saya memiliki objek myObjectdari MyClassdan saya harus mengatur ulang sifat-sifatnya, adalah lebih baik untuk membuat objek baru atau menetapkan kembali masing-masing properti? Asumsikan …

6
Bisakah Anda menerapkan pemrograman "berorientasi objek" tanpa kata kunci kelas?
Katakanlah kami ingin memberikan abstraksi "akun" di bank. Inilah satu pendekatan, menggunakan functionobjek dalam Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > dispatch['balance']: return …

6
Memahami “pemrograman ke suatu antarmuka”
Saya telah menemukan banyak istilah "pemrograman ke antarmuka bukan implementasi", dan saya pikir saya agak mengerti apa artinya. Tetapi saya ingin memastikan bahwa saya memahami manfaatnya dan kemungkinan implementasinya. "Pemrograman ke antarmuka" berarti, jika memungkinkan, seseorang harus merujuk ke tingkat kelas yang lebih abstrak (antarmuka, kelas abstrak, atau terkadang superclass), …

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.