Class%&%Object%2 * Katakunciyang digunakan%untuk%membatasi%hak%...

19
Class & Object 2 Imam Fahrur Rozi

Transcript of Class%&%Object%2 * Katakunciyang digunakan%untuk%membatasi%hak%...

Class  &  Object  2  Imam  Fahrur  Rozi  

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  

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  

*  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  

Contoh:  Konstruktor  Overloading  

*  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  

Atribut  instansiasi  

Atribut  class  

Cara  mengakses  atribut  instansiasi  

Cara  mengakses  atribut  Class