Sealed Class dalam Bahasa Pemrograman C#

Sealed Class dalam Bahasa Pemrograman C#
Photo by Wicked Monday / Unsplash

Dalam C#, sealed class adalah class yang tidak dapat diwarisi oleh class lain. Ini digunakan untuk mencegah inheritance dan menjaga keamanan serta stabilitas struktur kode.

Artikel ini akan membahas apa itu sealed class dalam C#, bagaimana cara menggunakannya, serta contoh implementasinya dalam berbagai skenario pemrograman.

1. Apa Itu Sealed Class dalam C#?

Secara default, class dalam C# bisa diwarisi oleh class lain. Namun, jika kita ingin mencegah pewarisan, kita bisa menggunakan keyword sealed.

Ciri-Ciri Sealed Class

Mencegah subclass dari class lain.
Meningkatkan keamanan kode dengan membatasi modifikasi struktur class.
Berguna untuk mencegah perubahan yang tidak diinginkan dalam inheritance.

Sintaks Sealed Class

sealed class Kendaraan {
    public void Info() {
        Console.WriteLine("Ini adalah class kendaraan.");
    }
}

Jika kita mencoba membuat subclass:

class Mobil : Kendaraan { } // ERROR: 'Kendaraan' is sealed and cannot be inherited

2. Contoh Penggunaan Sealed Class

2.1 Membuat Sealed Class

sealed class Hewan {
    public void Suara() {
        Console.WriteLine("Hewan mengeluarkan suara.");
    }
}

2.2 Percobaan Mewarisi Sealed Class

class Kucing : Hewan { } // ERROR: 'Hewan' is sealed and cannot be inherited

Penjelasan:

  • Hewan adalah sealed class, sehingga class lain tidak dapat mewarisinya.

3. Menggunakan sealed dengan Method dalam Inheritance

Jika kita ingin mencegah overriding hanya pada method tertentu, kita bisa menggunakan sealed dalam method overriding.

class Hewan {
    public virtual void Suara() {
        Console.WriteLine("Hewan berbunyi.");
    }
}

class Kucing : Hewan {
    public sealed override void Suara() {
        Console.WriteLine("Meow! Meow!");
    }
}

class Persia : Kucing {
    // ERROR: Cannot override 'Suara' because it is sealed in 'Kucing'
}

Output:

Meow! Meow!

Penjelasan:

  • sealed override digunakan untuk mencegah method Suara() di-override lebih lanjut oleh subclass lain.

4. Kapan Harus Menggunakan Sealed Class?

Gunakan sealed class jika:

  • Ingin mencegah class lain mewarisi dan memodifikasi class tersebut.
  • Class tersebut digunakan sebagai final class, misalnya dalam framework atau library.
  • Untuk keamanan kode dan menghindari modifikasi yang tidak diinginkan.

Jangan gunakan sealed class jika:

  • Class dirancang untuk dapat diperluas dengan inheritance.
  • Memerlukan polimorfisme, karena subclass tidak dapat dibuat.

5. Kesimpulan

  • Sealed class adalah class yang tidak bisa diwarisi oleh class lain.
  • Digunakan untuk mencegah inheritance dan menjaga keamanan struktur kode.
  • Dapat digunakan untuk mencegah overriding pada method tertentu dalam inheritance.
  • Gunakan sealed class dengan bijak untuk meningkatkan modularitas dan stabilitas kode.

Dengan memahami Sealed Class dalam C#, Anda dapat membuat desain class yang lebih aman, lebih terstruktur, dan lebih mudah dipelihara!

Read more