Örnekle C# Soyut Sınıf Eğitimi: Soyutlama Nedir?
C#'ta Soyut Sınıf nedir?
Soyut Sınıf hiçbir zaman örneklenemez ve abstract anahtar sözcüğüyle işaretlenir. Soyut bir sınıf, içinde sıfır veya daha fazla soyut yöntem içerir. Soyut sınıf bir temel sınıf görevi görür ve yöntemini uygulayan veya geçersiz kılan alt sınıflar tarafından miras alınacak şekilde tasarlanmıştır.
Aşağıda verilen örnekle C#'ta soyut sınıfı öğrenelim. Aşağıda 'Hayvan' adı verilen bir sınıfın tanımı bulunmaktadır. 'Hayvan' sınıfı tanımlandığında, hayvanın köpek mi yoksa kedi mi olduğu hakkında bilinen hiçbir şey yoktur. Açıklama adı verilen yöntem yalnızca sınıf için tanımlanmış genel bir yöntemdir.
Artık Hayvanın tam olarak ne olacağı bilindiğinde, temel sınıfı miras alan başka bir sınıf yaratıyoruz. Eğer hayvanın aslında bir Köpek olduğunu biliyorsak, ana temel sınıfı miras alan Dog sınıfını yaratırız. Buradaki temel fark, Dog sınıfının tanımını değiştirememesidir. DescriptAnimal sınıfının iyon yöntemi. Dog- adı verilen kendi C# soyut yöntemini tanımlaması gerekir.Descriptiyon. Bu, C# soyut sınıflarının temel konseptidir.
C#'ta Soyut Sınıf Oluşturma
Kodumuzu bir C# soyut sınıfını içerecek şekilde nasıl değiştirebileceğimize dair gerçek zamanlı örneklerle C#'taki soyut sınıfı görelim. Kodu çalıştırmayacağımızı unutmayın çünkü C# soyutlama sınıfı kullanılarak çalıştırılabilecek hiçbir şey yoktur.
) 1 Adım İlk adım olarak soyut bir sınıf oluşturalım. Sınıfın adı Tutorial olacak ve yalnızca bir yönteme sahip olacak. Kodun tamamının Program.cs dosyasına yazılması gerekir.
Kod Açıklaması:-
- Öncelikle soyut sınıfı tanımlıyoruz. Soyut anahtar kelimenin kullanımına dikkat edin. Bu, sınıfın soyut bir sınıf olduğunu belirtmek için kullanılır.
- Daha sonra hiçbir şey yapmayan yöntemimizi tanımlıyoruz. Yöntemin sanal olarak adlandırılan anahtar kelimeye sahip olması gerekir. Bu, yöntemin alt sınıf tarafından değiştirilemeyeceği anlamına gelir. Bu herhangi bir soyut sınıf için temel bir gereksinimdir.
) 2 Adım Şimdi alt sınıfımızı ekleyelim. Bu kod Program.cs dosyasına eklenir.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { abstract class Tutorial { public virtual void Set() { } } class Guru99Tutorial:Tutorial { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor=new Guru99Tutorial(); pTutor.SetTutorial(1,".Net"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Bu kodda istisnai bir şey yoktur. Sadece soyut Tutorial sınıfını miras alan 'Guru99Tutorial' adında bir sınıf tanımlıyoruz. Daha sonra daha önce kullandığımız yöntemlerin aynısını tanımlıyoruz.
Not:
Burada Tutorial sınıfında tanımlanan Set metodunun tanımını değiştiremiyoruz. Tutorial sınıfında 'Set' (public virtual void Set()) adında bir yöntem tanımlamıştık. Yöntem soyut C# sınıfının bir parçası olduğundan, Set yöntemini Guru99Tutorial sınıfında tekrar tanımlamamıza izin verilmiyor.
ÖZET
Soyut bir sınıf C keskin diğer sınıflar için bir taslaktır, işaretlenmiştir abstract
anahtar sözcük. Doğrudan örneklenemez ve türetilmiş sınıfların uygulaması gereken soyut yöntemleri içerebilir. Soyut sınıflar, belirli işlevselliğe izin verirken alt sınıflar arasında tutarlı bir yapı uygular. Bu kavram, temel davranışları tanımlamak ve kalıtım yoluyla kod esnekliğini sağlamak için yaygın olarak kullanılır.