kata kunci yang dimeterai bermaksud kelas itu tidak boleh diwarisi. Mengisytiharkan pembina sebagai peribadi bermakna tiada contoh kelas boleh dibuat.
Anda boleh mempunyai kelas asas dengan pembina persendirian tetapi masih mewarisi daripada kelas asas itu, tentukan beberapa pembina awam dan nyatakan kelas asas itu dengan berkesan.
#🎜 🎜# Pembina tidak diwarisi (jadi kelas terbitan tidak akan berbuat demikian hanya kerana kelas asas mempunyai semua pembina persendirian), dan kelas terbitan sentiasa memanggil pembina kelas asas terlebih dahulu. Menanda kelas sebagai dimeterai menghalang seseorang daripada bermain-main dengan kelas tunggal anda yang dibina dengan teliti kerana ia menghalang seseorang daripada mewarisi kelas itu. Contohstatic class Program { static void Main(string[] args){ Singleton fromStudent = Singleton.GetInstance; fromStudent.PrintDetails("From Student"); Singleton fromEmployee = Singleton.GetInstance; fromEmployee.PrintDetails("From Employee"); Console.WriteLine("-------------------------------------"); Singleton.DerivedSingleton derivedObj = new Singleton.DerivedSingleton(); derivedObj.PrintDetails("From Derived"); Console.ReadLine(); } } public class Singleton { private static int counter = 0; private static object obj = new object(); private Singleton() { counter++; Console.WriteLine("Counter Value " + counter.ToString()); } private static Singleton instance = null; public static Singleton GetInstance{ get { if (instance == null) instance = new Singleton(); return instance; } } public void PrintDetails(string message){ Console.WriteLine(message); } public class DerivedSingleton : Singleton { } }
Atas ialah kandungan terperinci Mengapa kelas tunggal dalam C# sentiasa dimeterai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!