Program berorientasi objek terdiri dari objek, setiap objek yang berisi bagian fungsional spesifik yang terpapar pada pengguna dan bagian implementasi tersembunyi. Dalam pemrograman berorientasi objek (OOP), tidak perlu peduli dengan implementasi spesifik objek. Dalam pemrograman terstruktur tradisional, algoritma adalah peringkat pertama dan struktur data adalah peringkat kedua, yaitu, pertama-tama menentukan cara beroperasi, dan kemudian mempertimbangkan cara mengatur data untuk memfasilitasi operasi. OOP membalikkan pesanan ini, mengutamakan data, dan kemudian mempertimbangkan algoritma yang mengoperasikan data.
I. Kelas
Kelas adalah templat dan cetak biru untuk membangun objek. Dalam istilah awam, hal yang sama setara dengan gambar bangunan, sedangkan objek setara dengan bangunan. Proses membangun objek dari suatu kelas disebut membuat instance suatu objek.
Di Java, "kelas" didefinisikan oleh kelas kata kunci, diikuti oleh nama kelas. Misalnya:
class person {// class body content}Kelas seseorang didefinisikan.
1. Bidang dan Metode
Saat mendefinisikan kelas, dua jenis elemen dapat diatur di kelas: anggota data dan fungsi anggota. Di mana anggota data adalah objek, yang dapat berupa jenis apa pun. Jika itu adalah pegangan yang menunjuk ke suatu objek, pegangan ini harus diinisialisasi dan terhubung ke objek yang sebenarnya melalui konstruktor. Jika itu adalah tipe data dasar, dapat diinisialisasi secara langsung di lokasi definisi kelas.
Setiap objek mempertahankan ruang penyimpanan untuk anggota datanya sendiri; Anggota data tidak dibagikan di antara objek.
class person {string name; gaji ganda;} Buat objek dengan kata kunci new . menyukai:
Orang p = orang baru ();
(1) Nilai default anggota master
Jika tipe data master tertentu milik anggota kelas, tidak jelas bahwa inisialisasi juga dapat memastikan bahwa mereka mendapatkan nilai default.
| Tipe utama | nilai default |
| Boolean | PALSU |
| Arang | '/u0000' (null) |
| byte | (byte) 0 |
| Pendek | (pendek) 0 |
| int | 0 |
| panjang | 0l |
| mengambang | 0.0f |
| dobel | 0.0D |
Jika suatu variabel adalah variabel anggota kelas, itu pasti akan diinisialisasi untuk jenis utama, dan perhatian khusus harus diberikan pada nilai yang diinisialisasi. Untuk variabel lokal, beberapa nilai acak akan diperoleh, seperti: int x; tidak akan diinisialisasi secara otomatis ke 0.
(2) Metode
Komponen dasar dari suatu metode termasuk nama , variabel independen , tipe pengembalian , dan tubuh . Bentuk dasar dari metode ini adalah:
返回类型方法名(/*自变量列表*/) {/* 方法体*/}Jenis pengembalian mengacu pada tipe numerik yang dikembalikan setelah metode dipanggil. Nama metode adalah identifikasi dan referensi metode tertentu. Daftar argumen mencantumkan jenis dan nama informasi yang ingin Anda lewati ke metode ini.
Di Java, metode ini disebut sebagai对象名.方法名
1. Gunakan pegangan untuk mengoperasikan objek
Meskipun Java sepenuhnya berorientasi objek . Namun, pengidentifikasi operasi sebenarnya menunjuk ke " pegangan " objek, juga dikenal sebagai " referensi ". Pegangan dapat ada secara mandiri, bukan untuk mengatakan bahwa jika Anda memiliki pegangan, Anda harus memiliki objek yang sesuai dengannya. Misalnya, int i; mendefinisikan variabel integer i, yang tidak berarti bahwa ia harus memiliki nilai. Misalnya, buat pegangan string:
String s;
Di sini, hanya pegangan yang dibuat, dan tidak ada objek yang dibuat. Karena S tidak memiliki objek yang terkait dengannya, pengecualian akan muncul jika S dipanggil. Oleh karena itu, inisialisasi diperlukan saat membuat.
String s = "halo";
Di Java, sebuah objek dibuat dengan kata kunci baru , yang mengembalikan referensi ke objek (mis., Pegangan). Jadi
String s = string baru ("halo");Objek string dengan konten "halo" telah dibuat, dan pegangan (referensi) objek diserahkan ke S untuk menyimpan.
2. Lokasi penyimpanan data
1. Daftar. Area penghematan tercepat, yang terletak di dalam prosesor. Ukuran register terbatas, dan ukurannya dialokasikan oleh kompiler.
2. Tumpukan. Berada di area RAM (memori akses acak) biasa, ukurannya dapat diubah melalui "Stack Pointer". Memindahkan penunjuk tumpukan ke bawah akan menciptakan ruang memori baru; Pindah ke atas akan membebaskan ruang memori. Saat membuat program, kompiler Java harus tahu persis "panjang" dan "waktu keberadaan" dari semua data yang disimpan dalam tumpukan, dan kompiler menghasilkan kode yang sesuai untuk memindahkan pointer. Pegangan objek Java disimpan di dalamnya, tetapi objek Java tidak disimpan di tumpukan.
3. Tumpukan. Kumpulan memori untuk tujuan reguler, di mana objek Java disimpan. Kompiler tidak tahu atau perlu tahu berapa banyak ruang penyimpanan yang dialokasikan dari "tumpukan memori" atau "tumpukan" dan berapa lama data akan bertahan.
4. Penyimpanan statis. Statis mengacu pada posisi tetap (dalam RAM). Selama berjalan program, data yang disimpan secara statis akan tersedia untuk dihubungi kapan saja. Menunjukkan bahwa elemen spesifik suatu objek adalah statis dengan kata kunci statis. Java sendiri tidak dapat ditempatkan di ruang penyimpanan statis.
5. Penyimpanan Konstan. Nilai konstan biasanya ditempatkan di dalam kode program dan tidak pernah berubah.
6. Penyimpanan Non-Ram. Jika data sepenuhnya independen dari suatu program, itu masih bisa ada ketika program tidak berjalan dan berada dalam ruang lingkup kontrol program. Misalnya, streaming objek dan objek tetap.
2. Objek
Tiga karakteristik utama suatu objek:
• Perilaku Objek - Operasi apa yang dapat diterapkan pada objek, atau metode apa yang dapat diterapkan pada objek?
• Status Objek - Bagaimana respons objek saat menambahkan metode itu?
• Identifikasi Objek - Bagaimana mengidentifikasi objek yang berbeda dengan perilaku dan keadaan yang sama?
Perilaku suatu objek ditentukan oleh metode yang dapat dipanggil. Setiap objek menyimpan informasi yang menggambarkan fitur saat ini, yang merupakan keadaan objek. Keadaan objek tidak berubah secara spontan. Kelas yang dirancang dengan baik hanya dapat diimplementasikan dengan metode panggilan. Jika keadaan objek diubah tanpa panggilan metode, itu berarti bahwa enkapsulasi telah dihancurkan.
Encapsulation: Metode implementasi yang menggabungkan data dan perilaku dalam paket dan menyembunyikan data dari konsumen objek. Kunci untuk enkapsulasi adalah bahwa metode di kelas tidak boleh secara langsung mengakses domain instance dari kelas lain. Program berinteraksi hanya melalui data Objek Domain Domain Objek.
Data dalam suatu objek disebut bidang instance atau atribut. Proses memanipulasi data disebut metode. Untuk setiap objek spesifik, ada set spesifik nilai domain instance (nilai atribut), dan set nilai -nilai ini adalah keadaan saat ini objek.
Hubungan antar kelas
Hubungan Umum Antara Kelas:
• Ketergantungan ("Use-A"): Metode satu kelas memanipulasi objek dari kelas lain.
• Agregasi ("HAS-A"): Objek dari satu kelas berisi objek kelas lain.
• Warisan ("IS-A"): digunakan untuk mewakili hubungan antara khusus dan umum. Jika kelas A memperluas kelas B (A mewarisi B), Kelas A tidak hanya berisi metode kelas B, tetapi juga metode ekstensi.
Suatu objek tidak benar -benar berisi objek, tetapi hanya mengacu pada suatu objek.
Di Java, nilai variabel objek apa pun adalah referensi ke objek yang disimpan di tempat lain. Nilai pengembalian operator baru juga merupakan referensi.
Artikel di atas secara komprehensif memahami kelas dan objek Java adalah semua konten yang telah saya bagikan dengan Anda. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.