C# Dilinde herşey nesne olduğundan dolayı bizde kendi nesnelerimizi oluşturarak bu nesneler arası ilişkiler kurabilir.
OOP TERİMLERİ :
Class(sınıf) : Methodları ve değişkenleri bir çatı altında toplayabildiğimiz yapılardır .Bu yapılar ".cs"uzantılı yapılardır herdefasında oluşturmaya gerek yoktur.
Field- Property(Alan -Özellik) :C# dilinde özellikle "get" ve "set" kullanılarak bu alanlara ilgili olarak derğer alma ve değer atama işlemlerni yapmaya yarar
Method: Sınıfların içerisindeki işlevleri belirli olan kod yapılarına denir methodlar sayesinde class ile bağlantı kurulur.
Constructer(Yapıcı Method):Nesne üretilirken "new" ifadesi ile çalışan ve sınıf ile aynı adı taşıyan Methodlara Yapıcı method denir.Nesnelerin aldıkları aldıkları değerlerin farklı olması gerekir bu işlem Constructer ile gerçekleşir Her sınıf içinde bulunmaktadır
Erişim Belirleyiciler :
Public :Hazırladığımız programdaki öğeye heryerden erişmemizi sağlar
Private : Sadece tanımlandığı yerden erişim yetkisi verir.
Protected: İşaretlenmiş öğeye sadece kalıtım bırakılan yerden erişim verilebilir.
İnternal : Sadece ilgili uygulama içerisinden erişilebilir .
C# ABSTRACT
Bir sınıfın Abstract olmasındaki amaç bir takım sınıflara taban sınıf olmaktır . nesneleri üretilmez abstract bir sınıfın içerisinde abstract metotlar tanımlanabilir.abstract sınıfların içinde yazılabilen ve katıln sınıflar tarafından ovveride edilmek zorunda olan metotlardır.Abstaract metotları tanımlarken sadece imzalarını tanımlarız .
Katılan sınıflarda ortak bir method yazılacağı zaman bu methodu en alt sınf yapmak bize daah kolaylık ve daah dogru bir kod yazmamızı sağlar.
INTERFACE (Arayüz)
Kendilerini implement etmiş olan diğer class'lar (sınıflar) içim hazır method , özellik gibi üyeleri içlerinde barındıran class'lardır.Ancak bu öğelerin içerisinde kod yer almaz .İnterfaceyi implement etmiş class'ların içine yazılır.
C# dilinde class sadece tek bir clastan kalıtım alabilir bunun için İnterfacelerin kullanılmasının en önemli sebeblerinden biri budur birden fazla kalıtım İnterface araclıpı ile gösterilir.
İnterface 'ler isimlendirilirken başlarında I harfi konularak isimlendirilir .
Arayüzlerin sahip Olabileceği üyeler :
-Özellikler(Properties)
-Metodlar(Methods)
-Olaylar(Events)
-İndeksleyiciler(İndexers
Arayüzlerin sahip Olamıyacğı Üyeler :
-Yapıcılar(Constructors)
-Yokediciler(Destructors)
-Alanlar(Fields)