Class%&%Object%2 * Katakunciyang digunakan%untuk%membatasi%hak%...
Transcript of Class%&%Object%2 * Katakunciyang digunakan%untuk%membatasi%hak%...
Materi
* Enkapsulasi * Access Modifier
* Konstruktor * Atribut/Method Klass * Atribut/Method Instansiasi
* 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
Enkapsulasi
* 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
Macam2 konstruktor
* Konstruktor berparameter atau berargumen * Konstruktor memiliki argumen fungsi
* Konstruktor tidak berparameter/ tidak berargumen (konstruktor default) * Konstruktor tidak memiliki argumen fungsi
* 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
Konstruktor
* 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 Instansiasi
* 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
Atribut&Method Class
Mahasiswa
+nim: String +spp: int
+tampilBiodata(): void
m1: Mahasiswa
+nim=“0210630064” +spp=1000
+tampilBiodata(): void
m2: Mahasiswa
+nim=“0210630001” +spp=1000
+tampilBiodata(): void
instansiasi
instansiasi
Ilustrasi
Mahasiswa
+nim: String +spp: int
+tampilBiodata(): void
m1: Mahasiswa
+nim=“0210630064” +spp=1000
+tampilBiodata(): void
m2: Mahasiswa
+nim=“0210630001” +spp=1000
+tampilBiodata(): void
instansiasi
instansiasi
Atribut instansiasi
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