Objek: keadaan, perilaku, dan antarmuka
Diperkenalkan| English | Makna |
|---|---|
| instance/ˈɪnstəns/ | instansi |
| encapsulation/ɪnˌkæpsjʊˈleɪʃn/ | pengkapsulan |
Apa yang akan menjelaskan pengamatan ini?
- Dua objek model rekening bank dapat merespons operasi deposit yang sama sementara memiliki saldo yang berbeda.
- Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.
Bangun modelnya
- Sebuah kelas mendefinisikan tipe dengan keadaan dan perilaku. Sebuah objek adalah instans. Enkapsulasi mengontrol akses melalui antarmuka agar operasi dapat mempertahankan invarian. Pewarisan memodelkan hubungan tipe yang sesuai; komposisi memodelkan objek yang mengandung atau menggunakan objek lain.
- enkapsulasi: Mengontrol akses ke status melalui antarmuka; instance: Objek individu dari sebuah kelas.
Apa yang seharusnya mencegah perubahan status yang tidak sah?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Encapsulasi berfungsi ketika setiap perubahan status melewati operasi yang memeriksa invarian sebelum menerapkannya. Medan yang dapat ditulis publik melewati pemeriksaan sepenuhnya, dan pengguna akhirnya akan membuat kesalahan.
Pasangkan setiap istilah teknis dengan maknanya yang tepat.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Gunakan definisi untuk membedakan besaran dan proses yang terkait.
Pilih bukti yang boleh mengujinya
- Panggilan kaedah bertindak ke atas satu实例 tertentu. Perubahan keadaan harus memenuhi pra-syarat dan pasca-syarat. Polimorfisme membolehkan kod menggunakan antaramuka bersama dengan implementasi berbeza apabila kontrak dihormati.
- Terapkan model akaun atau inventori sintetik yang kecil. Uji dua instance bebas, tolak operasi tidak sah dan nilai sempadan. Jauhkan model ini daripada akaun kewangan sebenar dan kelayakan akses.
Dua kebiasaan manakah yang membuat penyelidikan atau model dalam kasus ini lebih dapat dipertanggungjawabkan?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Menyatakan kondisi dan asumsi memungkinkan orang lain mengulangi pekerjaan persis seperti itu, dan mencatat bukti pendukung memungkinkan mereka memeriksa kesimpulan. Menyembunyikan hasil yang bertentangan menghilangkan bukti yang dapat menentang kesimpulan yang salah, dan satu pengukuran tidak pernah dapat menetapkan klaim yang lebih luas.
Bekerja daripada kuantiti yang diketahui
- Nyatakan nilai yang diketahui dan unitnya. Pilih hubungan kerana asumsinya sesuai dengan kes ini, kemudian susun semula sebelum menggantikan.
- Diketahui: objek A dimulai pada 40 unit dan menerima 15; objek B dimulai pada 20 dan menerima 5. Saldo akhir adalah 55 dan 25. Jumlah totalnya adalah 80, namun saldo objek individu mana pun bukan 80.
Satu instance bermula pada 12 unit, menambah 8 dan menyingkirkan 3. Cari nilainya yang akhir. Gunakan urutan yang sama: kuantiti diketahui → model → hubungan → substitusi → unit dan tafsiran.
Sebuah instance dimulai dari 12 unit, menambahkan 8 dan menghapus 3. Temukan nilainya setelah selesai.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Hasilnya adalah 17 unit. Diketahui: mulai 12; tambah 8; kurangi 3. Lacak status langkah demi langkah: 12 + 8 = 20; 20 - 3 = 17 unit. Setiap operasi mengubah hanya status instance ini.
Semak kesimpulan dan had-hadnya
- Satu kelas bukan perkara yang sama dengan satu instance. Pewarisan tidak secara automatik lebih baik daripada komposisi. Menyembunyikan medan saja tidak membuktikan bahawa semua operasi mengekalkan keadaan yang sah.
- Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.
Dua instans dari satu kelas harus selalu berbagi satu saldo. Klaim ini salah: Setiap instans memiliki keadaannya sendiri; dua akun dari kelas yang sama dapat memiliki saldo berbeda. Mereka berbagi definisi kelas—operasi dan struktur—bukan nilai bidang.
Objek: keadaan, tingkah laku dan antaramuka: Panggilan kaedah bertindak ke atas satu instance tertentu. Perubahan keadaan harus memenuhi pra-syarat dan pasca-syarat. Polimorfisme membolehkan kod menggunakan antaramuka bersama dengan implementasi berbeza apabila kontrak dihormati.
Dua实例 dari sebuah kelas harus selalu berbagi satu saldo.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Setiap instance memiliki state sendiri: dua akun dari kelas yang sama dapat memiliki saldo berbeda. Mereka berbagi definisi kelas - operasi dan struktur - bukan nilai medan.
Mengontrol akses ke status melalui antarmuka: tulis istilah teknis.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
enkapsulasi berarti Mengontrol akses terhadap keadaan melalui antarmuka.