Komposisi Objek
Bina objek lebih besar dengan menggabungkan objek lebih kecil. Komposisi memodelkan hubungan has-a seperti Car yang mempunyai Engine.
Komposisi Objek ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 3 pelajaran.
Definisi
Komposisi bermaksud membina objek yang lebih besar daripada objek kecil yang dimilikinya. Ini ialah hubungan mempunyai: Car mempunyai Engine. Pendekatan ini memastikan kelas kecil dan berfokus, manakala objek besar menyerahkan kerja kepada bahagiannya.
Kelebihan
Komposisi membantu penggunaan semula: anda boleh menukar satu bahagian tanpa mengubah keseluruhannya. Ia juga meningkatkan kebolehujian kerana setiap bahagian boleh diuji secara berasingan. Mulakan dengan mudah: jadikan satu kelas bergantung pada kelas lain melalui medan.
Komposisi berbanding pewarisan
Pewarisan ialah hubungan ialah (segi empat sama ialah bentuk). Komposisi ialah hubungan mempunyai (Car mempunyai Engine). Utamakan komposisi; gunakan pewarisan hanya apabila hubungan ialah benar-benar sesuai secara semula jadi.
Pemilikan & kitar hayat
Apabila objek memiliki bahagiannya, objek itu bertanggungjawab untuk mencipta dan menggunakannya. Bahagian biasanya tidak wujud sendiri; bahagian itu wujud kerana keseluruhannya wujud. Idea ini memastikan tanggungjawab kekal jelas.
Langkah reka bentuk
Pilih objek keseluruhan (Car) dan bahagiannya (Engine). Senaraikan perkara yang diketahui dan dilakukan oleh setiap bahagian. Kemudian letakkan objek bahagian sebagai medan di dalam objek keseluruhan dan tulis kaedah kecil yang menggunakan bahagian tersebut untuk melaksanakan kerja.
Kod: contoh hubungan mempunyai
Kod: Car memiliki Engine dan memanggil kaedahnya. Mencipta bahagian itu terlebih dahulu dan menghantarnya masuk memastikan kod mudah dan fleksibel.
public class Main {
// Very small classes to show composition (has-a)
static class Engine {
int horsepower;
Engine(int hp) { horsepower = hp; }
String info() { return horsepower + " HP engine"; }
}
static class Car {
String model;
Engine engine; // Car has an Engine (composition)
Car(String m, Engine e) {
model = m;
engine = e; // store the part
}
void printSpecs() {
// Use the part to build a message
System.out.println(model + " with " + engine.info());
}
}
public static void main(String[] args) {
// Create part first
Engine e = new Engine(90);
// Assemble whole with the part
Car c = new Car("CityCar", e);
// Use the whole, which delegates to its part
c.printSpecs();
}
}
Semakan komposisi
Semakan pantas: Pernyataan manakah yang paling tepat menerangkan komposisi?
Ulang kaji
Ulang kaji: Komposisi memodelkan hubungan mempunyai. Mulakan dengan bahagian kecil, berikan tugas yang jelas kepadanya dan biarkan objek keseluruhan menggunakannya melalui panggilan kaedah yang mudah.
Pelajari Java dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 104
- Pelajaran
- 374
Soalan Lazim
Adakah pelajaran “Komposisi Objek” percuma?
Ya — teks penuh “Komposisi Objek” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 3 pelajaran.
Apakah yang akan saya pelajari dalam “Komposisi Objek”?
Bina objek lebih besar dengan menggabungkan objek lebih kecil. Komposisi memodelkan hubungan has-a seperti Car yang mempunyai Engine. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Java Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 3.
Berapa lamakah pelajaran “Komposisi Objek” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- this dan toString/equals/hashCode
- Komposisi Objek
- Pemodelan Domain (UML→Kod)