Belajar C# Pemula | Part 9. Pemrograman Berorientasi Objek (OOP)

1. Pendahuluan
Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang menggunakan konsep objek. C# adalah bahasa yang sangat mendukung OOP dengan fitur seperti encapsulation, inheritance, dan polymorphism.
2. Konsep Dasar OOP
a. Class dan Object
Class adalah blueprint untuk membuat objek. Objek adalah instance dari class.
public class Mobil {
public string Merek;
public string Model;
public int Tahun;
public void TampilkanInfo() {
Console.WriteLine($"Mobil: {Merek} {Model}, Tahun: {Tahun}");
}
}
class Program {
static void Main() {
Mobil mobil1 = new Mobil { Merek = "Toyota", Model = "Avanza", Tahun = 2022 };
mobil1.TampilkanInfo();
}
}
b. Encapsulation
Encapsulation adalah pembungkusan data dalam class dengan menggunakan access modifier seperti private
dan public
.
public class BankAccount {
private double saldo;
public void SetSaldo(double jumlah) {
if (jumlah > 0) saldo = jumlah;
}
public double GetSaldo() {
return saldo;
}
}
class Program {
static void Main() {
BankAccount akun = new BankAccount();
akun.SetSaldo(5000);
Console.WriteLine("Saldo: " + akun.GetSaldo());
}
}
c. Inheritance
Inheritance adalah pewarisan sifat dari class induk ke class anak.
public class Hewan {
public string Nama;
public void Bersuara() {
Console.WriteLine("Hewan bersuara");
}
}
public class Kucing : Hewan {
public void Meong() {
Console.WriteLine("Meow!");
}
}
class Program {
static void Main() {
Kucing kucing = new Kucing { Nama = "Kitty" };
kucing.Bersuara();
kucing.Meong();
}
}
d. Polymorphism
Polymorphism memungkinkan method memiliki bentuk yang berbeda tergantung pada objek yang memanggilnya.
public class Hewan {
public virtual void Suara() {
Console.WriteLine("Hewan mengeluarkan suara");
}
}
public class Anjing : Hewan {
public override void Suara() {
Console.WriteLine("Guk! Guk!");
}
}
class Program {
static void Main() {
Hewan hewan1 = new Hewan();
Hewan hewan2 = new Anjing();
hewan1.Suara();
hewan2.Suara();
}
}
e. Abstraction
Abstraction menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas utama.
public abstract class Kendaraan {
public abstract void Bergerak();
}
public class Motor : Kendaraan {
public override void Bergerak() {
Console.WriteLine("Motor berjalan di jalan raya");
}
}
class Program {
static void Main() {
Kendaraan kendaraan = new Motor();
kendaraan.Bergerak();
}
}
3. Kesimpulan
Dengan memahami konsep OOP seperti encapsulation, inheritance, polymorphism, dan abstraction, Anda dapat menulis kode yang lebih terstruktur, mudah dipelihara, dan scalable dalam C#.