C#

C# Inheritance

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda inheritence konusunu anlatacağım. Hadi başlayalım !

Tanım

C# dilinde kalıtım (inheritance), bir sınıfın, başka bir sınıftan özelliklerini miras almasına olanak sağlayan bir yapıdır. Kalıtım sayesinde, var olan bir sınıfın kodları tekrar yazmak yerine, bu sınıftan yeni sınıflar türetilerek, var olan kodların tekrar kullanılması sağlanır. Bu, programlama sürecini hızlandırır ve kodun yeniden kullanılabilirliğini artırır.

Kalıtım kullanarak, bir sınıfın özelliklerini yeni bir sınıfın içinde kullanabiliriz. Yeni sınıf, miras alınan sınıfın özelliklerini (alanları, özellikleri, metotları vb.) kullanarak, kendi özelliklerini ve metotlarını tanımlayabilir.

Örnek Sınıf

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public void Greet()
    {
        Console.WriteLine("Hello, my name is " + Name + " and I'm " + Age + " years old.");
    }
}

class Student : Person
{
    public string SchoolName { get; set; }
}

class Teacher : Person
{
    public string Subject { get; set; }

    public void Teach()
    {
        Console.WriteLine("I am a teacher of " + Subject);
    }
}

Yukarıdaki örnekte, Person adında bir sınıf tanımlanmıştır. Bu sınıfın iki özelliği (Name ve Age) ve bir metodu (Greet) bulunmaktadır. Student adında bir sınıf tanımlanarak, Person sınıfından miras alınmıştır. Student sınıfı, miras alınan özelliklere ek olarak, SchoolName özelliğini içermektedir. Benzer şekilde, Teacher adında bir sınıf da tanımlanarak, Person sınıfından miras alınmıştır. Teacher sınıfı, miras alınan özelliklere ek olarak, Subject adında bir özelliğe ve Teach adında bir metoda sahiptir.

Kalıtım kullanarak, farklı sınıfların ortak özelliklerini tek bir sınıf içinde toplayabiliriz. Örneğin, yukarıdaki örnekte, Student ve Teacher sınıfları, Person sınıfından miras alınan özellikleri kullanarak, kendi özelliklerini tanımlamışlardır. Bu sayede, öğrenci ve öğretmen sınıflarının birbirinden farklı özellikleri olmasına rağmen, her ikisinin de ortak özellikleri (isim ve yaş) tek bir sınıfta toplanmıştır.

Student student = new Student();
student.Name = "John Doe";
student.Age = 18;
student.SchoolName = "XYZ School";

Teacher teacher = new Teacher();
teacher.Name = "Jane Smith";
teacher.Age = 35;
teacher.Subject = "Mathematics";

student.Greet();
teacher.Greet();

teacher.Teach();

Kod Açıklamaları

Yukarıdaki örnekte, Student ve Teacher sınıflarından nesneler oluşturulduğunu görebilirsiniz. Student sınıfından student adında bir nesne oluşturulmuş ve Name, Age ve SchoolName özellikleri atanmıştır. Teacher sınıfından teacher adında bir nesne oluşturulmuş ve Name, Age ve Subject özellikleri atanmıştır.

Daha sonra, student ve teacher nesneleri, Person sınıfından miras alınan Greet metoduyla karşılanmıştır. Her iki sınıftan türetilen nesneler, Greet metodunu kullanarak kendilerini tanıtmıştır.

Ayrıca, Teacher sınıfından türetilen nesne, Teach metoduyla kullanılarak öğretmenin ders verdiği konu hakkında bilgi vermiştir.

Kullanım Alanı

Kalıtımın kullanım alanları oldukça geniştir. Özellikle büyük projelerde, ortak özelliklere sahip sınıfların birbirinden ayrı olarak tanımlanması ve yönetilmesi oldukça zor olabilir. Bu nedenle, kalıtım sayesinde, benzer sınıfların ortak özellikleri tek bir sınıfta toplanarak, kodun daha okunaklı ve düzenli olması sağlanabilir. Ayrıca, kalıtım kullanarak, var olan bir sınıfın özelliklerini değiştirmeden, yeni özellikler eklenerek, farklı ama benzer sınıfların tanımlanması mümkündür.

Bellekteki Konumu

Kalıtımın bellekteki konumu, bir sınıftan türetilen yeni bir sınıfın, miras aldığı sınıfın bellekteki konumunu da kullanır. Yani, miras alınan sınıfın özellikleri ve metotları, yeni sınıfın bellekteki konumunda saklanır. Bu sayede, kalıtımın kullanımı, bellek kullanımı açısından da oldukça avantajlıdır.

Sonuç

Sonuç olarak, kalıtım C# programlama dilinde oldukça önemli bir yapıdır. Kalıtım kullanarak, var olan sınıfların özelliklerini tekrar yazmadan, yeni sınıflar tanımlanabilir. Bu sayede, kodun okunabilirliği ve yeniden kullanılabilirliği artırılır. Kalıtımın kullanımı, programlama sürecini hızlandırır ve kodun daha düzenli ve anlaşılır olmasını sağlar.

Evet C# ile inheritence bu şekilde olmakta. Tüm C# yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu