Pengenalan Dan Teladan Access Identifier

7 views

Salam jagocoding.

Tutorial ini yaitu tutorial lanjutan dari pengenalan class , pada tutorial kali ini kita kan membahas Access Identifier.

Pada tutorial pengenalan class ,ada kata-kata Public diawal field ataupun method, itulah disebut access identifier,apa fungsi access identifier? 

Access Identifier berfungsi untuk memilih siapa yang dapat mengakses suatu class, yang akan kita bahas di tutorial kali ini yaitu access Identifier Public dan Private ,
Public : Menyatakan anggota class tersebut(field atau method) dapat diakses class lain.

Private : Menyatakan anggota class tersebut(field atau method) hanya dapat diakses oleh dirinya sendiri .

sebenarnya ada satu Access Identifier lagi, yaitu Protected , Access Identifier tersebut akan dijelaskan di kesempatan lain.

Baik pribadi saja ke teladan , Karena tutorial ini bersifat lanjutan silahkan buka tutorial sebelumnya , Dasar pengenalan Class dan contohnya.

Pada kucing.cs ubah public menjadi private 

dan lihat di Program.cs

perhatikan kucingku.nama, ada garis bawah merah keriting yang pertanda itu error,dan kalu kita lihat keterangan error dibagian bawahnya, field nama di class kucing di lindungi (tidak untuk umum).

Mungkin teman-teman bertanya,jadi bagaimana mengakses field atau method class tertentu kalau hanya dapat di gunakan classnya sendiri ?
Tujuan dari Access identifier ini apa?

Intinya kalau public berarti anggota class tersebut dapat dibaca/ubah class lain, dan kalau private anggota class tersebut hanya dapat dibaca/ubah oleh classnya sendiri.

tapi bagaimana contohnya kalu kita ingin supaya anggota suatu class method/field dapat dilihat class lain tapi tak dapat diubah?

saya kasih gambaran,Misalnya pada dunia nyata, anda dapat melihat warna kucing , tapi anda tidak dapat mengubah warnanya,nahhh begitu juga di access identifier, untuk itu diperlukanlah method Getter/Setter

Method Getter : Adalah method yang dipakai untuk mengambil nilai dari Sebuah field yang bersifat private.

Method Setter : Adalah method yang dipakai untuk Mengubah nilai dari Sebuah field yang bersifat private.

Biar semuanya jelas,kita pribadi praktek ya teman-teman.
1. Buka Kucing.cs
ubah arahan yang awalnya

  • using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace class_sederhana{ class kucing {  public string nama; // field nama kucing  public int umur;  public string warna;  public void makan()  { Console.WriteLine("{0} , sedang makan ikan", nama); }  public void gantinama(string namabaru) {  nama = namabaru; } }}

 

menjadi.

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace class_sederhana{class kucing  { private string nama = "mewmew"; // field nama kucing private int umur =1 ; //field umur private string warna ="Putih"; //field warna  public void GantiNama(string namaBaru) //method setter untuk field nama{ nama = namaBaru; } public string LihatNama() { //method getter untuk field nama return nama; } public string LihatWarna() { //method getter untuk field warna return warna; }  public int LihatUmur() {  return umur;  } public void makan() { Console.WriteLine("{0} , sedang makan ikan", nama); }  }}

 

dan program.cs menjadi

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace class_sederhana { class Program{ static void Main(string[] args) {  kucing kucingku; //pointer  kucingku = new kucing();  kucingku.GantiNama("Neko");  Console.WriteLine("Nama Kucing aku adalah: {0} ", kucingku.LihatNama());  Console.WriteLine("Warna Kucing Saya: {0} ", kucingku.LihatWarna());  Console.WriteLine("Umur Kucing Saya: {0} tahun",kucingku.LihatUmur() ); kucingku.makan();Console.ReadLine(); //agar jendela hasil compile teidak tertutup} }} 

.jika di compile (F5), maka hasilnya 

 

 

Penjelasan :
perhatikan baris

 private string nama = "mewmew"; // field nama kucing
private int umur =1 ; //field umurprivate string warna ="Putih"; //field warna

disini field nama dengan isi “mewmew” kita jadikan private.begitu juga field umur dan warna.

selanjutnya perhatikan baris ini

 public void GantiNama(string namaBaru) //method setter untuk field nama{ nama = namaBaru; }

 Pada baris arahan tersebut,kita menciptakan fungsi gres dengan nama GantiNama dengan variabel namabaru,isinya
nama = gres ;
berarti nanti field nama akan diisi oleh nilai dari nama baru,dan ingat fungsi ini bersifat public . ini lah yang disebut method setter ,ini kan mengubah nilai field nama yang bersifat private.

berikutnya Perhatikan baris

 public string LihatNama() { //method getter untuk field nama return nama; } public string LihatWarna() { //method getter untuk field warna return warna; }  public int LihatUmur() {  return umur;  }

perhatikan fungsi LihatNama .
fungsi tersebut hanya berisi 
return nama;

artinya yaitu fungsi ini hanya memberikan/mengembalikan nilai field private nama , ingat field nama sebelumnya telah kita modifikasi yang nantinya akan mengambil nilai  dari nama gres , ini lah yang disebut method getter,ini berfungsi mengembalikan / memperlihatkan nilai dari field yang bersifat private , perhatikan perbedaan penulisan method getter dan setter. 

begitu juga baris 

public string LihatWarna() { //method getter untuk field warna return warna; }

 fungsi LihatWarna hanya berisi
return warna;.

berikutnya klik silahkan teman-teman ke bab program.cs

perhatikan baris

 kucingku = new kucing();  kucingku.GantiNama("Neko");  Console.WriteLine("Nama Kucing aku adalah: {0} ", kucingku.LihatNama());  Console.WriteLine("Warna Kucing Saya: {0} ", kucingku.LihatWarna());  Console.WriteLine("Umur Kucing Saya: {0} tahun",kucingku.LihatUmur() );

 pada bagian 

  kucingku.GantiNama("Neko");

kita sedang memberi nilai pada fungsi Gantinama yang kita buat sebelumnya,ingat di fungsi ganti nama yang memakai pengubah namabaru , pengubah (variabel) ini lah yang kan mengisi / mengubah field nama yang bersifat private , kita tidak dapat lagi pribadi memakai  

kucingku.nama

karena field tersebut private,untuk mengaksesnya dibutuhkan class turunannya yang bersifat public.,disini kita hanya mengubah nilainya,untuk menampilkannya akan kita gunakan fungsi LihatNama.
perhatikan baris arahan  

 Console.WriteLine("Nama Kucing aku adalah: {0} ", kucingku.LihatNama()); Console.WriteLine("Warna Kucing Saya: {0} ", kucingku.LihatWarna());

dan ingat fungsi Lihat nama

 public string LihatNama() { //method getter untuk field nama return nama; }

disitu LihatNama mengembalikan / membertikan nilai field nama,dan field nama kini sudah diisi dengan nilai neko ,
dan begitu juga fungsi LihatWarna.
fungsi inilah yang mengembalikan / memperlihatkan nilai field warna yang tidak dapat pribadi dibaca jarena bersifat private.

jika di compile jadinya adalah

field nama kini bermetamorfosis neko, gampang bukan?
Selamat mencoba, silahkan dikembangkan.

Author: 
    author
    No related post!