Class & Object 2 Imam Fahrur Rozi
Materi * Enkapsulasi * Access Modifier * Konstruktor * Atribut/Method Klass * Atribut/Method Instansiasi
Enkapsulasi * Merupakan konsep dasar OOP dimana atribut dan method digabungkan ke dalam satu penamaan (Class). Dan atribut dan method yang dimiliki oleh suatu Class bisa dibatasi hak aksesnya. Konsep pembahatasan hak akses ini yang juga disebut sbg Information Hiding * Pembatasan hak akses bisa dilakukan dengan menggunakan Access Modifier
Access Modifier * Kata kunci yang digunakan untuk membatasi hak akses class lain terhadap atribut/method suatu class * private * default * protected * public
Access Modifier
Access Modifier di Class Diagram Mahasiswa +nim: String - nama: String #ipk: float ~alamat: String +tampilbiodata(): void
Konstruktor * Adalah method istimewa yang dipanggil atau dijalankan pertama kali ketika membuat objek dari suatu klas * Istimewa? * Nama methodnya pasti sama dengan nama klas * Digunakan utk create objek/instansiasi * Hanya dieksekusi/dipanggil saat instansiasi saja * Selalu memiliki modifier akses public * Tidak memiliki tipe data fungsi * Tidak bisa mengembalikan nilai (tidak bisa return) * Setiap klas pasti punya konstruktor, meskipun tidak tertulis
Contoh Konstruktor
Macam2 konstruktor * Konstruktor berparameter atau berargumen * Konstruktor memiliki argumen fungsi * Konstruktor tidak berparameter/ tidak berargumen (konstruktor default) * Konstruktor tidak memiliki argumen fungsi
Contoh: Konstruktor Default
Contoh: Konstruktor Berparameter
Konstruktor * Jika dalam suatu Class tidak tercantum konstruktor, maka secara otomatis Class tsb akan dikenali oleh Java memiliki konstruktor default * Contoh: Meski klass Mahasiswa di bawah ini tdk tertulis konstruktor di dalamnya, maka dia tetap dikenali oleh Java memiliki konstruktor default
Konstruktor * Dalam 1 Class bisa terdapat lebih dari 1 konstruktor * Antara konstruktor 1 dengan yang lain harus berbeda daftar parameternya * Konstruktor- konstruktor dalam satu klas, dengan daftar parameter yang saling berbeda ini yang disebut sebagai konstruktor overloading
Contoh: Konstruktor Overloading
Atribut&Method Instansiasi * Adalah atribut dan method yang dimiliki oleh Objek atau Instance * Untuk mengakses atribut dan method instansiasi harus dilakukan dulu instansiasi/harus dibuat objek terlebih dulu * Cara mengakses atribut&method instansiasi:.. //lakukan dulu instansiasi objek nama_objek.nama_atribut nama_objek.nama_method();
Atribut&Method Class * Atribut&Method dimiliki oleh Class, bukan dimiliki oleh objek hasil instansiasi * Bernilai sama untuk semua objek dari Class yang sama * Atribut&Method Class dideklarasikan menggunakan kata kunci static (diletakkan sebelum tipe data) * Kalau kita hendak mengakses atribut&method klas, tanpa didahului dengan instansiasi. //tidak perlu instansiasi, langsung menggunakan //nama class NamaKlas.namaAtribut; NamaKlas.namaMethod();
Atribut&Method Class * Di Diagram Class Atribut dan method Class digambarkan dengan garis bawah di nama atribut&method nya instansiasi +nim: String +spp: int Mahasiswa +tampilbiodata(): void instansiasi m1: Mahasiswa +nim= 0210630064 +spp=1000 +tampilbiodata(): void m2: Mahasiswa +nim= 0210630001 +spp=1000 +tampilbiodata(): void
Ilustrasi Atribut instansiasi m1: Mahasiswa instansiasi +nim= 0210630064 +spp=1000 +tampilbiodata(): void +nim: String +spp: int Mahasiswa +tampilbiodata(): void instansiasi m2: Mahasiswa +nim= 0210630001 +spp=1000 +tampilbiodata(): void Atribut class Nilainya bisa beda antar objek satu dg objek lainnya Nilainya pasti sama antar objek satu dg objek lainnya, karena niainya dimiliki oleh Class- bukan dimiliki oleh objek
Atribut instansiasi Atribut class Cara mengakses atribut Class Cara mengakses atribut instansiasi