Bahasa C
Dalam tutorial ini, kita akan belajar tentang kelas dan metode yang disegel dalam C# dengan bantuan contoh.
Dalam C#, ketika kita tidak ingin suatu kelas diwarisi oleh kelas lain, kita dapat mendeklarasikan kelas tersebut sebagai kelas yang disegel .
Kelas yang disegel tidak dapat memiliki kelas turunan. Kami menggunakan sealed
kata kunci untuk membuat kelas tersegel. Misalnya,
using System;
namespace SealedClass {
sealed class Animal {
}
// trying to inherit sealed class
// Error Code
class Dog : Animal {
}
class Program {
static void Main (string [] args) {
// create an object of Dog class
Dog d1 = new Dog();
Console.ReadLine();
}
}
}
Pada contoh di atas, kita telah membuat kelas tersegel Hewan . Di sini, kami mencoba menurunkan Anjing kelas dari Hewan kelas.
Karena kelas yang disegel tidak dapat diwariskan, program menghasilkan kesalahan berikut:
error CS0509: 'Dog': cannot derive from sealed type 'Animal'
Selama penggantian metode, jika kita tidak ingin metode yang ditimpa lebih lanjut ditimpa oleh kelas lain, kita dapat mendeklarasikannya sebagai metode tertutup .
Kami menggunakan sealed
kata kunci dengan metode yang diganti untuk membuat metode yang disegel. Misalnya,
using System;
namespace SealedClass {
class Animal {
public virtual void makeSound() {
Console.WriteLine("Animal Sound");
}
}
class Dog : Animal {
// sealed method
sealed public override void makeSound() {
Console.WriteLine("Dog Sound");
}
}
class Puppy : Dog {
// trying to override sealed method
public override void makeSound() {
Console.WriteLine("Puppy Sound");
}
}
class Program {
static void Main (string [] args) {
// create an object of Puppy class
Puppy d1 = new Puppy();
Console.ReadLine();
}
}
}
Pada contoh di atas, kita telah mengganti makeSound() metode di dalam Anjing kelas.
// Inside the Dog class
sealed public override void makeSound() {
Console.WriteLine("Dog Sound");
}
Perhatikan bahwa kita telah menggunakan sealed
kata kunci dengan makeSound() . Ini berarti Anak Anjing kelas yang mewarisi Anjing kelas tidak diizinkan untuk menimpa makeSound() .
Karenanya, kami mendapatkan kesalahan
error CS0239: 'Puppy.makeSound()': cannot override inherited member 'Dog.makeSound()' because it is sealed
ketika kami mencoba untuk menimpa makeSound() . lebih lanjut metode di dalam Anak Anjing kelas.
Catatan :Menyegel metode yang diganti mencegah penggantian metode dalam pewarisan bertingkat.
1. Kami menggunakan kelas tersegel untuk mencegah pewarisan. Karena kita tidak dapat mewarisi dari kelas yang disegel, metode di kelas yang disegel tidak dapat dimanipulasi dari kelas lain.
Ini membantu untuk mencegah masalah keamanan. Misalnya,
sealed class A {
...
}
// error code
class B : A {
...
}
Sebagai kelas A tidak dapat diwarisi, kelas B tidak dapat menimpa dan memanipulasi metode kelas A .
2. Salah satu kegunaan terbaik dari kelas tersegel adalah ketika Anda memiliki kelas dengan anggota statis.
Pena kelas System.Drawing
namespace adalah salah satu contoh kelas yang disegel. Pena kelas memiliki anggota statis yang mewakili pena dengan warna standar. Pens.Blue
mewakili pena dengan warna biru.
Bahasa C
Apa itu Kelas? Kelas C++ menggabungkan data dan metode untuk memanipulasi data menjadi satu. Kelas juga menentukan bentuk objek. Data dan metode yang terkandung dalam sebuah kelas dikenal sebagai anggota kelas. Kelas adalah tipe data yang ditentukan pengguna. Untuk mengakses anggota kelas, kami men
Apa itu Warisan dalam C#? Warisan adalah konsep penting dari C#. Warisan adalah konsep di mana Anda mendefinisikan kelas induk dan kelas anak. Kelas anak mewarisi metode dan properti dari kelas induk, tetapi pada saat yang sama, mereka juga dapat mengubah perilaku metode jika diperlukan. Kelas anak
Serialisasi &Deserialisasi di C# Konsep Serialization dan deserialisasi digunakan setiap kali data yang berkaitan dengan objek harus dikirim dari satu aplikasi ke aplikasi lainnya. Serialisasi digunakan untuk mengekspor data aplikasi ke dalam file. Aplikasi tujuan kemudian menggunakan deserialisasi
Apa itu Abstraksi di OOP? Abstraksi adalah konsep pemrograman berorientasi objek yang menampilkan hanya atribut penting dan menyembunyikan informasi yang tidak perlu. Tujuan utama abstraksi adalah menyembunyikan detail yang tidak perlu dari pengguna. Abstraksi adalah memilih data dari kumpulan yang