Constructor dan Modifier

Soal    :

1. Penjelasan penerapan constructor pada latihan ini  2. Pengertian penerapan akses modifier pada latihan ini 3. Cara melewatkan sebuah nilai melalui constructor ke dalam class lain 4. Gambarkan kembali semua code pada bab ini menggunakan class diagram 5. Kelebihan fluent builder pattern

Jawaban    :

1. Constructor adalah sebuah method yang memiliki nama yang sama dengan nama class.  Setiap kita membuat class atau struct, kita menyebut constructor-nya. Class atau struct  yang kita buat dapat memiliki beberapa constructor yang mengambil argument yang  berbeda. Constructor memungkinkan programmer untuk menetapkan nilai default,  membatasi instantiation, dan menulis kode yang fleksibel dan mudah dibaca. Contoh penerapan constructor pada latihan kali ini adalah constructor pada class Monitor. 

public Monitor(String resolution, Boolean supportHdmi, double size) 

this.resolution = resolution;  

this.supportHdmi = supportHdmi;  

this.size = size; 

Pada class Monitor kita menambahkan parameter resolution, supportHdmi, dan size ke  dalam constructor. Dan ketika membuat objek, kita harus menambahkan nilai parameter  seperti contoh di bawah. 

Monitor lgMonitor = new Monitor("1200x600", true, 32);

2. Akses modifier adalah sebuah hak akses yang diberikan kepada sebuah variable atau  method dengan tujuan untuk menjaga integritas data pada variable atau method ketika  ingin diakses oleh objek lain. Hak akses tersebut diberikan oleh programmer sebagai  bentuk implementasi dari OOP. 

Akses modifier sendiri memiliki beberapa macam, yaitu : 

Public = jenis class atau anggota class dapat diakses oleh class lain meskipun  berbeda package. 

Private = jenis class atau anggota class hanya dapat diakses oleh kode di class atau struct  yang sama. 

Protected = jenis atau anggota class hanya dapat diakases oleh kode di class yang  sama atau di class turunan yang berasal dari class tersebut. 

Internal = jenis class atau anggota class dapat diakses oleh file apapun dalam package  yang sama tetapi tidak dari package lain. 

Contoh penerapan akses modifier pada latihan kali ini adalah salah satu variable pada class  Monitor.

class Monitor 

//resolution, supporthdmi, size  

private String resolution;  

private Boolean supportHdmi;  

private double size; 

public Monitor(String resolution, Boolean supportHdmi, double size) 

this.resolution = resolution;  

this.supportHdmi = supportHdmi;  

this.size = size; 

Pada awal class Monitor ini kita membuat variable resolution, supportHdmi, dan size yang  memiliki akses modifier private. Jadi ketiga variable tersebut hanya dapat diakses oleh  kode di class Monitor atau pada struct yang sama. Kemudian kita juga membuat method  Monitor yang memiliki akses modifier public. Jadi method Monitor tersebut dapat diakses  oleh class lain meski berbeda package.

3. Untuk melewatkan sebuah nilai melalui constructor ke dalam class lain kita harus  membuat beberapa fungsi dan beberapa class. Contohnya seperti pada praktikum  TheSuperComputer ini kita membuat constructor Printer pada class Printer. 

public Printer(String brand, String series, int ppm) 

 { 

 this.brand = brand; 

 this.series = series; 

 this.ppm = ppm; 

 } 

Constructor Printer di atas akan melewatkan nilai yang berasal dari objek Printer dari fungsi  Main yang ada pada class Program.cs .  

Printer hpPrinter = new Printer("HP", "MP102", 50); 

Nilai tersebut akan diteruskan ke fungsi public override ToString yang ada pada class Printer.cs  . 

public override string ToString() 

 { 

 return $"Printer brand : {this.brand} ; Printer series : {this.series} ; Printer paper per  minutes (ppm) : {this.ppm}"; 

 }


4. Class diagram

Komentar

  1. Selamat pagi kak , ada diagram yang lebih jelas gambar nya?

    BalasHapus

Posting Komentar