Akses Pengubah (Specifiers) di C# dengan Contoh Program

โšก Ringkasan Cerdas

Pengubah akses (access modifiers) dalam C# adalah kata kunci yang mengatur visibilitas suatu kelas, properti, atau metode, membatasi program eksternal mana yang dapat mengaksesnya. Konstruktor menginisialisasi nilai field secara otomatis setiap kali objek dari kelas tersebut dibuat.

  • ๐Ÿ” Pribadi: Pengubah akses privat membatasi anggota hanya pada kelas yang sama, memblokir akses dari program eksternal mana pun.
  • ๐ŸŒ Publik: Pengubah akses publik mengekspos properti atau metode ke program eksternal mana pun tanpa batasan.
  • ๐Ÿ›ก๏ธ Terlindung: Pengubah akses protected hanya berbagi anggota dengan kelas yang diwarisi dari kelas saat ini.
  • ๐Ÿ“ฆ Intern: Pengubah akses internal memungkinkan akses di dalam assembly yang sama tetapi tidak dari program eksternal.
  • ๏ธ Pembangun: Konstruktor memiliki nama kelas yang sama, tidak menerima tipe kembalian, dan menginisialisasi field saat objek dibuat.
  • ๐Ÿค– Bantuan AI: GitHub Copilot membuat kerangka pengubah dan konstruktor, sementara ML.NET memetakan properti kelas ke fitur model.

Pengubah Akses (Spesifikator) dalam C#

Apa itu Pengubah Akses (Penentu) di C#?

Akses Pengubah Pengubah akses (access specifyer) dalam C# adalah kata kunci yang digunakan untuk menentukan visibilitas properti atau metode suatu kelas. Ini digunakan ketika Anda tidak ingin program lain melihat properti atau metode suatu kelas. Pengubah akses membatasi akses sehingga program lain tidak dapat melihat properti atau metode suatu kelas.

Ada 6 jenis pengubah akses di C#:

  • Swasta
  • Publik
  • Terlindung
  • Intern
  • Internal Terlindungi
  • Dilindungi Swasta

Kita akan mempelajari tentang pengubah akses utama di C# dengan contoh program seperti yang dijelaskan di bawah ini.

Pengubah Akses Pribadi di C#

Ketika pengubah akses Privat dilampirkan ke properti atau metode, itu berarti bahwa anggota tersebut tidak dapat diakses dari program eksternal mana pun.

Contoh Pengubah Akses Pribadi

Mari kita ambil contoh dan lihat apa yang terjadi jika kita menggunakan pengubah akses pribadi.

Mari kita ubah kode saat ini di file Tutorial.cs kita. Pada metode SetTutorial, mari kita ubah kata kunci publik menjadi pribadi.

Pengubah Akses Pribadi

Sekarang mari kita beralih ke file Program.cs kita. Anda akan melihat ada garis berlekuk-lekuk merah di bawah metode SetTutorial.

Karena kita sekarang telah mendeklarasikan metode SetTutorial sebagai privat di kelas Tutorial kita, Visual Studio telah mendeteksinya. Visual Studio telah memberi tahu pengguna dengan menyorotnya bahwa sekarang metode ini tidak akan berfungsi dari berkas Program.cs.

Pengubah Akses Pribadi

C# Pengubah Akses Publik

Ketika pengubah akses publik melekat pada properti atau metode, itu berarti bahwa anggota tersebut dapat diakses dari program eksternal apa pun. Kita telah melihat hal ini pada contoh sebelumnya.

Contoh Pengubah Akses Publik

C# Pengubah Akses Publik

Karena kita telah mendefinisikan metode kita sebagai publik di kelas Tutorial, metode tersebut dapat diakses dari file Program.cs.

Pengubah Akses Terlindungi di C#

Ketika pengubah akses Terlindungi melekat pada properti atau metode, artinya anggota tersebut hanya dapat diakses oleh kelas yang diwarisi dari saat ini kelas. Hal ini akan dijelaskan lebih detail di kelas Inheritance.

C# Pengubah Akses Internal

Ketika pengubah akses internal dilampirkan ke properti atau metode, anggota tersebut hanya dapat diakses oleh program internal tetapi tidak oleh program eksternal.

C# Konstruktor

C# Konstruktor digunakan untuk menginisialisasi nilai bidang kelas ketika objek terkait dibuat. Konstruktor adalah metode yang memiliki nama yang sama dengan nama kelasnya. Jika konstruktor didefinisikan dalam suatu kelas, maka ia akan menyediakan metode pertama yang dipanggil ketika sebuah objek dibuat. Misalkan kita mempunyai kelas bernama Employee. Metode konstruktor juga akan diberi nama Employee().

Hal-hal penting berikut perlu diperhatikan tentang metode konstruktor

  1. Pengubah akses default C# untuk konstruktor perlu dijadikan publik.
  2. Seharusnya tidak ada tipe kembalian untuk metode konstruktor.

Contoh Konstruktor C#

Sekarang mari kita lihat bagaimana kita dapat memasukkan pengguna konstruktor ke dalam kode kita. Kita akan menggunakan konstruktor untuk menginisialisasi kolom TutorialID dan TutorialName ke beberapa nilai default saat objek dibuat.

Langkah 1) Langkah pertama adalah membuat konstruktor untuk kelas Tutorial kita. Pada langkah ini, kami menambahkan kode di bawah ini ke file Tutorial.cs.

C# Konstruktor

Code Penjelasan:-

  1. Pertama-tama kita menambahkan metode baru yang memiliki nama yang sama dengan nama kelasnya. Karena namanya sama dengan kelasnya, C# memperlakukan ini sebagai metode konstruktor. Jadi sekarang setiap kali metode pemanggilan membuat objek kelas ini, metode ini akan dipanggil secara default.
  2. Di konstruktor Tutorial, kami menyetel nilai TutorialID ke 0 dan TutorialName ke โ€œDefaultโ€. Jadi setiap kali objek dibuat, bidang ini akan selalu memiliki nilai default berikut.

Sekarang mari kita beralih ke file Program.cs dan hapus saja baris yang memanggil metode SetTutorial. Ini karena kami hanya ingin melihat cara kerja konstruktor.

C# Konstruktor

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  public int TutorialID; 
  public string TutorialName;
  
  public Tutorial()
  {
   TutorialID=0;
   TutorialName="Default";
  }
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Penjelasan:-

  1. Langkah pertama adalah membuat objek untuk kelas Tutorial. Hal ini dilakukan melalui kata kunci 'baru'.
  2. Kami menggunakan metode GetTutorial dari kelas Tutorial untuk mendapatkan NamaTutorial. Ini kemudian ditampilkan ke konsol melalui metode Console.WriteLine.

Jika kode di atas dimasukkan dengan benar dan program dijalankan, output berikut akan ditampilkan.

Keluaran:

C# Konstruktor

Dari outputnya, kita dapat melihat bahwa konstruktor memang dipanggil dan nilai TutorialName disetel ke โ€œDefaultโ€.

Catatan: Di sini nilai โ€œdefaultโ€ diambil dari konstruktor.

Pertanyaan Umum Demo Slot

Jika tidak ada pengubah yang ditentukan, anggota kelas dan struktur secara default bersifat privat dan tipe tingkat atas bersifat internal, tetap tersembunyi sampai Anda memperluas visibilitasnya.

Protected mengekspos sebuah anggota ke kelas yang sama dan kelas turunannya, bahkan lintas assembly. Internal hanya mengeksposnya ke tipe-tipe dalam assembly yang sama.

Protected internal memungkinkan akses dari assembly yang sama atau kelas turunan mana pun. Private protected lebih ketat, hanya mengizinkan kelas turunan di dalam assembly yang sama.

C# mendukung konstruktor default, berparameter, salinan, statis, dan privat. Konstruktor ini menginisialisasi field objek, menjalankan pengaturan kelas sekali, atau mengkloning nilai objek lain.

Konstruktor statis tidak menerima pengubah atau parameter. Konstruktor ini dijalankan sekali, sebelum objek pertama dibuat atau anggota statis dimuat, untuk menginisialisasi bidang statis.

Ya. Sebuah kelas dapat mendefinisikan beberapa konstruktor dengan daftar parameter yang berbeda. Kompilator akan memilih konstruktor yang sesuai dengan argumen yang diteruskan ke `new`.

Ya. GitHub Copilot menyarankan pengubah, konstruktor, dan penginisialisasi bidang dari nama kelas atau komentar di dalam Visual Studio dan VS Code. RevLihat setiap tingkat visibilitas yang disarankan.

ML.NET memetakan properti publik dari kelas data C# ke fitur dan label model. Getter dan setter publik memungkinkan ML.NET membaca nilai-nilai tersebut selama pelatihan.

Ringkaslah postingan ini dengan: