09 December 2016

OOP Sanal Metodlar

Sanal Metod (Virtual Method) kalıtım alan sınıflarda temel sınıfa ait bir metodu aynı isimle tanımlamak için kullanılır. Temel bir sınıf içinde bir metod sanal olarak tanımlanmak istenirse o metodun önüne virtual kelimesi yazılmalıdır. Sanal metod normal metot gibi çağrılır. Sanal metodlar static veya abstract olarak belirtilmez.

Override Metod

Temel sınıftan türetilmiş bir sınıfta, temel sınıfa ait bir metodu aynı adla tanımlamak için kullanılır. Sanal metod türetilmiş sınıf tarafından yeniden tanımlanırken override niteleyicisi kullanılır.

Sealed (Kalıtım Vermeyi Engelleme)

Bir sınıfın başka sınıflara kalıtım vermesini engellemek için sealed komutu kullanılır. Bu komut kullanıldığında sınıfınızdan başka hiçbir sınıfa kalıtım alınamaz. Ancak, yeni türetilen bir değişken (üye değişken) yardımıyla sınıfın metotları çağrılabilir.

sealed class Temel
 {
 // Program kod satırları
 }
 //
 class Türeyen : Temel
 {
 // HATALIDIR!!! Temel sınıftan bir sınıf türetilemez.
 // Program kod satırları
 }

Temel sınıf, kalıtım yoluyla sealed komutundan dolayı türeyen sınıfına aktarılamaz.

Enum Yapısı

Enumerations (Enum), sayılabilir tipler için kullanılan numaralandırıcılardır. Enum yapısı kullanıcı tanımlı bir yapıdır. Enum yapısının elemanları 0’dan başlar ve index değerleri birer birer artar. Dolayısıyla numaralandırıcıya ait elemana ulaştığımızda bu elemanın index değerine de sahip oluruz.

Örnek kullanımı:

enum Cinsiyet
 {
 Bay,
 Bayan
 }

Yukarıdaki örneğimizde Bay elemanının değeri 0, Bayan elemanının değeri 1’dir. Bu sayıları değiştirebiliriz. Örneğin Bay elemanına 6 sayısını atayabiliriz, bu durumda Bayan elemanının değeri 7 olacaktır.