Kristal, Ahşap, Bayrak.. Plaket ihtiyaçlarınıza Mükemmel çözümler üretiyoruz.
Kalıtım ve Polimorfizm C# programlama dili açısından oldukça önemlidir. Kalıtım, bir sınıfın özelliklerini başka bir sınıfın kullanmasını sağlar. Polimorfizm ise, aynı isimli bir metotun farklı sınıflar tarafından farklı şekillerde uygulanmasıdır.
Kalıtım
Kalıtımda yani inheritance'ta, bir sınıfın özellikleri başka bir sınıf tarafından kullanılır. Temel sınıfın özellikleri, türetilmiş sınıflarda da kullanılabilir. Türetilmiş sınıflar, temel sınıftan yeni özellikler veya yöntemler ekleyebilirler.
Basit bir örnek vermek gerekirse, bir hayvan sınıfı oluştururuz ve bu sınıfın altında da köpek ve kedi sınıflarını oluştururuz. Hayvan sınıfı, özellik olarak adı ve yaşını alacak şekilde yazılabilir.
public class Hayvan {
public string Adi { get; set; }
public int Yas { get; set; }
public void Konus() {
Console.WriteLine(\"Merhaba, ben bir hayvanım.\");
}
}
Bu sınıftan türetilmiş köpek ve kedi sınıfları, hayvan sınıfının özelliklerine sahip olur. Ancak köpek sınıfına havlama yöntemi ve kedi sınıfına mırlama yöntemi ekleyebiliriz. Bunu aşağıdaki gibi yazabiliriz.
public class Kopek : Hayvan {
public void Havla () {
Console.WriteLine(\"Hav Hav!\");
}
}
public class Kedi : Hayvan {
public void Mirla () {
Console.WriteLine(\"Miyav Miyav!\");
}
}
Bu şekilde Kopek sınıfından nesne oluşturduğumuzda havlama yöntemine erişebiliriz, aynı şekilde Kedi sınıfı için de mırlama yöntemi kullanılabilir.
Polimorfizm
Polimorfizm, aynı isme sahip metotların farklı sınıflar tarafından farklı şekilde uygulanmasıdır. Bu durum, kodun daha “anlamlı” hale gelmesini sağlar. Yani, aynı isimli metotları kolaylıkla çağırarak birçok sınıfın özelliğine erişebiliriz.
Polimorfizmi en iyi açıklayan örnek, şekil sınıfıdır. Şekil sınıfı, alan hesaplama yöntemi ile birlikte yazılabilir. Şekil sınıfının alan hesaplaması için şekil adı, genişliği ve yüksekliği (üçgen için taban ve yükseklik) parametreleri alır. Daha sonra, farklı şekiller üretmek için bu sınıftan türetilmiş daire ve üçgen sınıfları oluşturabiliriz.
public class Sekil {
public virtual double AlanHesapla(double genislik, double yukseklik) {
return genislik * yukseklik;
}
}
public class Ucgen : Sekil {
public override double AlanHesapla(double genislik, double yukseklik) {
return (genislik * yukseklik) / 2;
}
}
public class Daire : Sekil {
public override double AlanHesapla(double genislik, double yukseklik) {
return Math.PI * Math.Pow((genislik / 2), 2);
}
}
Bu şekilde, türetilmiş sınıfların metotları, temel sınıfta tanımlanan metodu ezer. Bu nedenle, Sekil sınıfından bir nesne oluşturduğumuzda AlanHesapla metotuna erişebiliriz; ancak, Ucgen sınıfından bir nesne oluşturduğumuzda farklı bir hesaplama gerçekleştirebiliriz.
Sık Sorulan Sorular
Q: Kalıtım ve Polimorfizm arasındaki fark nedir?
A: Kalıtım, bir sınıfın özelliklerinin başka bir sınıf tarafından kullanılmasıdır. Polimorfizm ise, aynı isme sahip metotların farklı sınıflar tarafından farklı şekillerde uygulanmasıdır.
Q: Çoklu kalıtım C# programlama dilinde kullanılır mı?
A: C# dilinde sadece tekli kalıtım kullanılabilir. Ancak, bir sınıf birden fazla arayüzü uygulayabilir.
Q: Neden kalıtım kullanırız?
A: Kalıtım, kod tekrarını önler ve daha anlamlı bir kod yazmamızı sağlar. Ayrıca, var olan sınıfları yeniden kullanmamızı kolaylaştırır.
Q: Polimorfizm nasıl kullanılabilir?
A: Polimorfizmi kullanmak için aynı isme sahip metotların farklı sınıflar tarafından farklı şekillerde uygulanması gerekmektedir. Yani, örneğin bir şekil sınıfında alan hesaplama yöntemi yazarsak, bu yöntem farklı şekiller tarafından farklı şekillerde kullanılabilir."
Kalıtım ve Polimorfizm C# programlama dili açısından oldukça önemlidir. Kalıtım, bir sınıfın özelliklerini başka bir sınıfın kullanmasını sağlar. Polimorfizm ise, aynı isimli bir metotun farklı sınıflar tarafından farklı şekillerde uygulanmasıdır.
Kalıtım
Kalıtımda yani inheritance'ta, bir sınıfın özellikleri başka bir sınıf tarafından kullanılır. Temel sınıfın özellikleri, türetilmiş sınıflarda da kullanılabilir. Türetilmiş sınıflar, temel sınıftan yeni özellikler veya yöntemler ekleyebilirler.
Basit bir örnek vermek gerekirse, bir hayvan sınıfı oluştururuz ve bu sınıfın altında da köpek ve kedi sınıflarını oluştururuz. Hayvan sınıfı, özellik olarak adı ve yaşını alacak şekilde yazılabilir.
public class Hayvan {
public string Adi { get; set; }
public int Yas { get; set; }
public void Konus() {
Console.WriteLine(\"Merhaba, ben bir hayvanım.\");
}
}
Bu sınıftan türetilmiş köpek ve kedi sınıfları, hayvan sınıfının özelliklerine sahip olur. Ancak köpek sınıfına havlama yöntemi ve kedi sınıfına mırlama yöntemi ekleyebiliriz. Bunu aşağıdaki gibi yazabiliriz.
public class Kopek : Hayvan {
public void Havla () {
Console.WriteLine(\"Hav Hav!\");
}
}
public class Kedi : Hayvan {
public void Mirla () {
Console.WriteLine(\"Miyav Miyav!\");
}
}
Bu şekilde Kopek sınıfından nesne oluşturduğumuzda havlama yöntemine erişebiliriz, aynı şekilde Kedi sınıfı için de mırlama yöntemi kullanılabilir.
Polimorfizm
Polimorfizm, aynı isme sahip metotların farklı sınıflar tarafından farklı şekilde uygulanmasıdır. Bu durum, kodun daha “anlamlı” hale gelmesini sağlar. Yani, aynı isimli metotları kolaylıkla çağırarak birçok sınıfın özelliğine erişebiliriz.
Polimorfizmi en iyi açıklayan örnek, şekil sınıfıdır. Şekil sınıfı, alan hesaplama yöntemi ile birlikte yazılabilir. Şekil sınıfının alan hesaplaması için şekil adı, genişliği ve yüksekliği (üçgen için taban ve yükseklik) parametreleri alır. Daha sonra, farklı şekiller üretmek için bu sınıftan türetilmiş daire ve üçgen sınıfları oluşturabiliriz.
public class Sekil {
public virtual double AlanHesapla(double genislik, double yukseklik) {
return genislik * yukseklik;
}
}
public class Ucgen : Sekil {
public override double AlanHesapla(double genislik, double yukseklik) {
return (genislik * yukseklik) / 2;
}
}
public class Daire : Sekil {
public override double AlanHesapla(double genislik, double yukseklik) {
return Math.PI * Math.Pow((genislik / 2), 2);
}
}
Bu şekilde, türetilmiş sınıfların metotları, temel sınıfta tanımlanan metodu ezer. Bu nedenle, Sekil sınıfından bir nesne oluşturduğumuzda AlanHesapla metotuna erişebiliriz; ancak, Ucgen sınıfından bir nesne oluşturduğumuzda farklı bir hesaplama gerçekleştirebiliriz.
Sık Sorulan Sorular
Q: Kalıtım ve Polimorfizm arasındaki fark nedir?
A: Kalıtım, bir sınıfın özelliklerinin başka bir sınıf tarafından kullanılmasıdır. Polimorfizm ise, aynı isme sahip metotların farklı sınıflar tarafından farklı şekillerde uygulanmasıdır.
Q: Çoklu kalıtım C# programlama dilinde kullanılır mı?
A: C# dilinde sadece tekli kalıtım kullanılabilir. Ancak, bir sınıf birden fazla arayüzü uygulayabilir.
Q: Neden kalıtım kullanırız?
A: Kalıtım, kod tekrarını önler ve daha anlamlı bir kod yazmamızı sağlar. Ayrıca, var olan sınıfları yeniden kullanmamızı kolaylaştırır.
Q: Polimorfizm nasıl kullanılabilir?
A: Polimorfizmi kullanmak için aynı isme sahip metotların farklı sınıflar tarafından farklı şekillerde uygulanması gerekmektedir. Yani, örneğin bir şekil sınıfında alan hesaplama yöntemi yazarsak, bu yöntem farklı şekiller tarafından farklı şekillerde kullanılabilir."
Sınırsız Menü, Sınırsız Yemek, SSL Sertifikası, Full Mobil Uyumlu, Full SEO Uyumlu
ve Daha bir çok özellik. Bugün kullanmaya başlayın.