Nesne Yönelimli Programlama da temel mantık, yapacağımız işlemleri tek bir sınıf içerisinde alt alta yazılmış uzun kodlarla değilde daha kısa yazılmış ve sınıfların mantıksal olarak birbirinden ayrılmış bir şekilde tasarlanmasıdır. Sınıflar içerisinde yapılacak işlemler farklı metotlar içerisinde yazılarak yapının daha sade ve anlaşılır hale gelmesi sağlanır. Burada esas amaç; mantıksal yapıları kullanırken kalıtımdan faydalanmak, sınıfları soyutlamak, ilişkili metotları, değişkenleri kapsüllemek ve bir arayüz vasıtasıyla birden çok sınıfa çok biçimlilik sağlamaktır.
Encapsulation
Oluşturduğumuz sınıftaki değişkenlerin setter ve getter metotları kullanılarak ve bu setter ve getter metotlarına erişim belirleryicilerle belli sınıflardan erişim sağlanmasına izin vermek gibi kontroller encapsulation ile mümkündür.
Encapsulation yazılımcıya oluşturduğu sınıftaki değişkenlerin ve metodların erişimlerini kontrol yetkisi verir. Tanımladığımız bir sınıf içerisindeki değişkenin direkt olarak değiştirilememesi, bunun yerine bizim izin verdiğimiz ölçüde, metotlar aracılığıyla değiştirilmesi gerekmektedir. Bu erişim yetkilerini Access Modifierlarla belirleriz.
Public: Bu erişim belirleyici ile oluşturulan metot yada propertylere her yerden erişim sağlanır.
Private: Sadece oluşturulduğu sınıf içerisinden erişim sağlanabilir
Protected: Sadece bu clasın ve bu classtan türemiş sınıfların içirisinden erişilebilir. Bu classtan oluşturulan nesneler üzerinden erişemeyiz.
Internal: Sadece içerisinde bulunulan assemly(solution.exe) den erişim sağlanabilir. Bu .dll nin referans eklenip kullanıldığı başka solution içindeki yapılarda kullanılamaz.
İNHERİTANCE
Var olan sınıfın özelliklerini korumak ve bu özelliklere eklenti yapma amacıyla kullanılır. Genelden özele doğru gidilir. Bir sınıf başka bir sınıftan türeyerek o sınıfın public ve protected tanımlı yapılarını devralır.
ABSTRACTİON
Abstraction sayesinde kullanıcıya yapılacak işin fonksiyonelliği sunulur. Bu şekilde kullanıcı kullandığı metodun ne yaptığıyla ilgilenirken, nasıl yaptığıyla ilgilenmez. Bu durumda fonksiyonellik ön plana çıkarken, işin nasıl yapıldığı gizlenir. Yani kullanıcı arabayı çalıştırır, o arabanın ilk tetiklenmeden sonra hangi aşamalardan geçtiği, arka tarafta neler olduğu konularıyla ilgilenmez. Abstraction, interface ve abstract class yapıları ile sağlanır.
interface ve abstract sınıflardan nesne üretilmez.
POLYMORPHİSM
- Bir nesnenin birden fazla türün davranışını gösterebilmesini sağlamaktır.
- Base classtan bir referansa , Base classtan türemiş sınıfların nesnesini işaret ettirmektir.
ÖZETLE
Bir sınıf değişken ve metodlardan meydana gelmektedir. Bu sınıf içerisindeki metodların, Bu sınıfı kullanan yapılar tarafından ne yaptığının bilinmesi fakat nasıl yaptığının bilnememesine abstraction, Bu sınıf içerisindeki metod ve değişkenlerin hangi yapılar tarafından erişilebileceğini belirlemeye de Encapsultion denir. Encapsulation Acces Modifierlarla sağlanır.
Hiç yorum yok:
Yorum Gönder