C# Sanal Metot Kullanımı

Bir önce ki yazımızda kalıtım konusu hakkında sizlere bilgiler vermiştik. Bugün ki konumuz olan Sanal Metot konusu da aslında bir nevi kalıtım konus ile yakın bir ilişkisi bulunmaktadır. Bu nedenle kalıtım hakkında bilgisi olmayan arkadaşlarımın mutlaka kalıtım nedir yazımızı okuması ve anlaması gerekmektedir.

Kalıtım konusunda Temel sınıftan üretilerek diğer sınıflara aktarılan metotları olduğu haliyle kullanmak istemeyebiliriz. Yani bir nevi bu metotlar üzerinde oynama yapmak isteyebiliriz. Bu durumlarda temel sınıfta bulunan metodumuzu virtual anahtar kelimesi ile oluşturarak, türemiş sınıflarda metodumuz çağrıldığı zaman override anahtar kelimesi kullanarak metodumuzun içeriğini değiştirebiliriz. Bu olay tam anlamıyla Sanal Metot kavramını oluşturmaktadır.

Bir metodun Sanal Metot Olduğunu Nasıl anlarız?

Bu işlemi anlamın en kolay yolu override kelimesini yazım bir boşluk yaptığımızda karşımıza sanal metotların isimleri çıkacaktır.

Yukarıda ki görselde sanal metot olarak tanımlanan metotlar karşımıza çıkmaktadır. Bu metotlar object sınıfına ait sanal metotlardır.

Konuyu örneklerle anlatmak için kalıtım konusunda verdiğim class örnekleri üzerinden gideceğim. Öncelikle annebaba adında bir temel sınıf yine cocuk isminde annebaba classından kalıtılmış türetilmiş bir sınıf oluşturuyorum. annebaba classının içerisine de bir sanal metot oluşturmak istiyorum

Sanal Metot Nasıl Oluşturulur?

Sanal Metot oluşturmak için virtual anahtar kelimesini kullanmak durumundayız. Aşağıda bir AnneBabaMetodu adında sanal metot oluşturduk.

Oluşturduğumuz bu metodu Cocuk isimli classımız üzerinden çağıracağız ve bu metot üzerinde ufak bir değişiklik yapacağız.

Cocuk sınıfı içerisinde override anahtar kelimesini kullandığımızda AnneBabaMetodu isimli metodun sanal metot olduğunu görmüş olduk.

Burada gördüğünüz base anahtar kelimesi aslında temel sınıfı ifade etmektedir. Yukarda ki yapı ile sanal metodumuzu cocuk sınıfı için değiştirdik. Burada ki değişim sadece cocuk classını bağlamaktadır. Yani temel sınıfta bulunan metodu etkilememektedir. Bu durumu gelin hep birlikte örneklerle görelim.

Yukarda program sınıfıma gelerek annebaba sınıfı ile çocuk sınıfını örnekledim ve her iki sınıf içerisinde AnnaBabaMetodu isimli metodumu çağırdım. Bakalım sonuç ne olacak ??

Harika ! ÇT. AnnaBabaMetodu benim sanal metodum ve bu metot içerisinde sadece bir cümle eklemesi yaptım. an. AnnaBabaMetodu ise benim telem sınıf metodum olmakla birlikte gördüğünüz gibi ilk yazdığım kod bloklarını çalıştırdı ve herhangi bir değişime maruz kalmadı. Sanal metot olayının temel mantığı da tam olarak bu zaten…

Bir sonra ki yazımız da görüşmek üzere…

Bu yazımızda anlattığım konu ile ilgili yapamadığınız yada kafanıza takılan her soruyu sitemizin yorum kısmına yazarak cevap bulabilirsiniz.

Sevgili takipçilerimiz sizler için bir çok alanda bilgilenmeniz için eğitim videoları çekerek sizlere hizmet etmeye çalışmaktayım. Bu nedenle biz yeni kurulan bir aileyiz ve bu ailenin yeni üyelere ihtiyacı vardır. Bu nedenle sizleri ailemizde görmeyi çok isterim. Youtube kanalıma abone olarak sizde Web pazarı ailemize katılabilirsiniz. Kanalıma ulaşmak için BURAYA TIKLAYABİLİRSİNİZ

Bu ve bunun gibi bir çok dersi ücretsiz olarak öğrenmek için mutlaka youtube sayfama abone olabilirsiniz. Ayrıca bizleri sosyal medya üzerinden takip edebilirsiniz. İnstagram adresimiz @webpazari233 Twitter adresimizi ise @PazarWeb Hepinize mutlu ve sağlıklı bir yaşam diliyorum.

Leave a Reply