OOP içerisinde kullanılan terimler ve kısa açıklamaları
Instance alma (örneklem çıkarma); oluşturduğumuz prototipten ve onun özelliklerinden yararlanmak için kullanılır. Newlemek olarakda adlandırılabilir. Her instance alındığında RAM'in heap alanına çıkartılır ve o instance tipinde bir alan oluşturulur.
Access Modifiers (Erişim Belirteçleri); İhtiyacımız olan sınıf ve bu sınıfların özelliklerine erişmek için kullanılan anahtar kelimelerdir. Neden böyle birşeye ihtiyaç duyulur? Kullandığımız class, struct, function, method, property, class ve içerilerinde tanımlanan varlıkların kodlarına erişim sürecini kontrol etmek için ihtiyaç duyulur.
Private(Özel); Bir değerin private olarak tanımlanması demek, o değişkene sadece kendi class’ı içinden ulaşılabileceği anlamına gelmektedir.
Public (Genel); Bir değerin public olarak belirtilmesi; o değerin, proje içindeki tüm katmanlardan erişilebilir durumda olmasını sağlamaktadır
Protected (Korunumlu); bir değerin protected olarak tanımlanması; o değere, bulunduğu class ve ondan türetilen diğer sınıflar içinden erişilebilir olduğunu göstermektedir
Internal (İçsel); Internal olarak tanımlanan bir değer; aynı program içerisinden erişilebilir, fakat farklı bir program içerisinden erişilemez durumdadır. Program içerisinde herhangi bir kısıtlaması yoktur.
Protected Internal (İçsel Korunumlu) Protected internal olarak tanımlanmış değer, tanımlandığı class’ın içinden ve ondan türetilen sınıfların içinden erişilebilir durumdadır.Türetilen sınıfın aynı program içinde olmaması sorun teşkil etmez.
BaseClass; Kalıtım verecek olan temel sınıftır. Kalıtım alacak alt sınıfların ortak özellikleri tutulur
ChildClass; BaseClassdan kalıtım alacak alt sınıflara denilir.
Enum; Kendi içerisinde index mantığı ile çalışan ve uygulama içerisindeki sabitlerin tanımladığı bir yapıdır. OOP yapısında Enum isminde oluşturulacak folderin içerisinde tutulur
Override (ezmek); Base classlara sadece özellik eklenmez methodlarda eklenebilir yani yetenek kazandırılabilir. Bu yeteneklerin alt sınıflarda kullanılmasına ve kullanıldığı sınıfın özelliğini göstermesine override denir.
Virtual method; BaseClass da tanımlanmış bir yeteneğin (yetenekler methodlar ile tanımlanır) alt sınıflarda ezilir hale getirmek için ilgili method "virtual" olarak işaretlenir. Virtual methodların gövdeleri doldurulmuş olur. Genellikle virtual methodlar concrete içerisinde bir Classtan tanımlanır.
Abstract method; Absract Class da tanımlanmış bir yeteneğin (Abstract methodlar ile tanımlanır) alt sınıflarda ezilir hale getirmek için ilgili methoda "abstract" olarak işaretlenir. Abstract methodlarda iş görev atanmaz, alt sınıflarda override işlemi esnasında atama yapılması gerekir.
Abstract metod, abstract bir sinifda olmak zorundadir. Virtual method abstract olan veya olmayan her sinifta kullanilabilmektedir.
Metodun basinda abstract olursa, metodun bulundugu class dan kalitim alan bir sinif o metodu override etmek zorundadir, virtual keywordünde ise override edilme zorunuluk degildir.
Virtual Method
Abstract Method
Base classlarda gövdesiz olarak oluşturulan methodlar child sınıflarda override edilebilir
Abstract classlarda oluturulan gövdesiz methodlar child classlarda override edilebilir.
Extend edilme (genişletmek); Basse sınıfların özelliklerinin alt sınıflara kazandırılmasını tanımlar. Extend aşamasında BaseClassın altının kırmızı ile çizilmesi hatası "crtl + ." ile giderilir. Devamında Altsınıfında altı kırmızı ile çizilecektir.Onun sebebi ise BaseClass ın uygulanması gerken zorunlu yeteneklerinin alt sınıfa kazandırılması gerekmektedir. Bu hatada "ctrl + ." ile giderilir.
Implement etme (uygulama ); BaseClass'te tanımlanmış üyelerin alt sınıflarda uygulanmasına Implement etmek denir.
Inherit etme (inheritance )(kalıtım verme ); bir sınıfın özelliklerinin başka sınıfa kazandırma demektir.
Constructor Methodlar ; Bu methodlar sadece hızlı değer atması için değil aynı zamanda ilgili sınıftan nesne türetildiğinde, instance alındığında yani sınıf başlatıldığında otomatik olarak yapılmasını istediğimiz işlemleri yerine getirmesinde kullanırız (ctor tab+tab kısa yolu ile üretilir). Özet olarak ilgili sınıf başlatıldığında otomatik çalışmasını istediğimiz işlemleri Constructor methodlar içerisine yazıyoruz.
Method Overloading (aşırı yükleme ); constructor methodların ihtiyaçlarımızın doğrultusunda sayısını arttırabiliriz. Böylelikle farklı başlatıcılar elde edebiliriz. Yani ismi değiştirilmeyen bir method aldığı parametreler değiştirilerek farklı amaçlara hizmet edebilir.
Static Class'lar; Eğer bir nesneye bağlı işlem gerçekleştirmiyorsak yani amaç belirli bir duruma hizmet eden birden fazla ögeyi bir arada bulundurmak yada bir araya toplamaksa o sınıfı static olarak tanımlayabiliriz. Ve static Class lara instance almadan ulaşabiliriz. Özellikle bu durum Formlar arasındaki geçişlerde çok işimize yarar. Instance maliyetinden kurtulmuş oluruz. Static Class'lar başka sınıflardan kalıtım alıp vermezler ama .NetFrameWork ün bütün sınıfları Object nesnesinden kalıtılabilir, static sınıflarda bu sınıflara dahildir. Static sınıflar bize kullanım olarak kolaylık sağlar instance almaktan sınıflar arası bağlantı kurmaktan kurtulabiliriz. Fakat tanımlanmış her static class performans ve memory kaybı olarak geri döner. Bu husus static sınıfların içerisine tanımlanan ögelerinde RAM'de kapladığı yer ile alakalıdır.
Last updated
Was this helpful?