C# merupakan bahasa pemrograman yang berorientasi objek, dimana pemrograman objek-orientasi memiliki prinsip dasar yaitu objek dan class. Objek sendiri bisa diartikan sebagai instansi dari sebuah class, sedangkan class adalah sebuah blueprint atau rancangan dari suatu objek.

Dalam C#, class dan objek sangatlah penting, karena hampir semua program yang dibuat menggunakan C# memiliki class dan objek. Objek sendiri memiliki atribut (property) dan metode (method) yang dapat diakses melalui instance dari class.

Objek pada C#

Objek pada C# adalah sebuah instance dari class, dimana objek sendiri memiliki karakteristik dan perilaku yang telah didefinisikan di dalam class. Ketika membuat sebuah objek, diperlukan sebuah constructor yang berfungsi untuk menginisialisasi objek tersebut.

Sebagai contoh, kita bisa membuat sebuah class bernama "Mobil" yang memiliki atribut seperti "merk", "tahunProduksi", "warna", dan metode seperti "startEngine" dan "stopEngine". Setelah itu, kita bisa membuat objek "mobil1" yang merupakan instance dari class "Mobil", dan mengakses atribut serta metodenya.

class Mobil {

  public string merk;

  public int tahunProduksi;

  public string warna;

  public void startEngine() {

    Console.WriteLine("Engine started.");

  }

  public void stopEngine() {

    Console.WriteLine("Engine stopped.");

  }

}

// Membuat objek mobil1

Mobil mobil1 = new Mobil();

mobil1.merk = "Toyota";

mobil1.tahunProduksi = 2021;

mobil1.warna = "Merah";

// Mengakses atribut dan metode pada objek mobil1

Console.WriteLine("Mobil {0} produksi tahun {1}, dengan warna {2}", mobil1.merk, mobil1.tahunProduksi, mobil1.warna);

mobil1.startEngine();

mobil1.stopEngine();


Class pada C#

Class pada C# sendiri adalah sebuah blueprint atau rancangan dari suatu objek, dimana di dalam class terdapat atribut dan metode yang akan dimiliki oleh objek. Atribut pada class bisa diakses oleh objek melalui konstruktor, sedangkan metode pada class bisa diakses oleh objek melalui instance dari class.

Pada C#, sebuah class bisa memiliki inheritance atau pewarisan, dimana class turunan bisa mengakses semua atribut dan metode yang dimiliki oleh class induk. Selain itu, C# juga mendukung konsep polimorfisme, dimana objek bisa memiliki banyak bentuk dengan menggunakan teknik overloading dan overriding.

class Kendaraan {
  public string merk;
  public int tahunProduksi;

  public Kendaraan(string merk, int tahunProduksi) {
    this.merk = merk;
    this.tahunProduksi = tahunProduksi;
  }

  public virtual void InfoKendaraan() {
    Console.WriteLine("Merk Kendaraan: {0}", merk);
    Console.WriteLine("Tahun Produksi: {0}", tahunProduksi);
  }
}

class Mobil : Kendaraan {
  public string warna;

  public Mobil(string merk, int tahunProduksi, string warna) : base(merk, tahunProduksi) {
this.warna = warna;
}

public override void InfoKendaraan() {
base.InfoKendaraan();
Console.WriteLine("Warna Mobil: {0}", warna);
}
}

class Program {
static void Main(string[] args) {
Mobil mobil1 = new Mobil("Toyota", 2021, "Merah");
mobil1.InfoKendaraan();
}
}


Pada contoh di atas, kita membuat sebuah class "Kendaraan" yang memiliki atribut "merk" dan "tahunProduksi", serta metode "InfoKendaraan" yang mengakses atribut tersebut. Selain itu, class "Mobil" merupakan turunan dari class "Kendaraan" yang memiliki atribut "warna" dan juga memiliki metode "InfoKendaraan" yang menggunakan teknik overriding untuk menambahkan informasi tentang warna mobil.

Kesimpulan

Objek dan class pada C# merupakan konsep dasar dalam pemrograman berorientasi objek. Objek sendiri adalah sebuah instance dari class, sedangkan class adalah sebuah blueprint atau rancangan dari suatu objek. Di dalam class terdapat atribut dan metode yang akan dimiliki oleh objek, dimana atribut bisa diakses melalui konstruktor dan metode bisa diakses melalui instance dari class.

Dalam C#, class juga mendukung konsep pewarisan dan polimorfisme, dimana class turunan bisa mengakses semua atribut dan metode yang dimiliki oleh class induk, serta objek bisa memiliki banyak bentuk dengan menggunakan teknik overloading dan overriding.

Untuk Selanjutnya saya akan membahas tentang "Mempelajari Exception handling pada Pemrograman C#". Jika ada pertanyaan silahkan anda berkomentar di bawah terimakasih😊.


Sumber: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/objects