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
Selamat pagi kak , ada diagram yang lebih jelas gambar nya?
BalasHapus