Nesne tabanlı programlamanın 3 altın bileşeni vardır.
Encapsulation:
Nesne yönelimli programlamada en önemli aşamalardan birisidir. Bu özellik kullanılan dilin kullanıcı tarafından gereksiz bulunan kısımlarını saklar. Kapsüllemenin bir diğer önemli işi ise veri korumasıdır. Sınıf altındaki kodları private erişim belirleyicisi sayesinde koruma altına alır. Bu sayede başkaları bunları kullanmak isterse ulaşamayacak ya da sizden izin almak zorunda kalacaktır. Public erişim belirleyicisi ise dış dünyaya açık olduğu için sınıf içindeki mantıkları algılama sorunu yaşar bundan dolayı sınıf içindeki değerlerin uygun olup olmadığı anlaşılamaz. Yani düzgün ve güvenli bir iş yapmak istiyorsak public erişim sağlayıcısı yerine private erişim sağlayıcısı kullanmak hem veri güvenliği hem de iş açısından daha mantıklı olur.
Inheritance:
Kalıtım bu işin en önemli aşamalarından biridir. Kalıtım sınıfların üzerine yeni sınıflar tanımlamak ve bunlara izin verme yetkisi olarak ifade edebiliriz. Kalıtım daha çok sınıfın özelliklerini bir alt sınıftan alarak sanki kendi sınıfıymış gibi kullanması da denebilir. Kısaca, varolan bir sınıfa yeni özellikler eklemek için birde alt sınıftan özellik almak için kalıtım kullanılır. C#’da bir sınıf sadece tek temel sınıfa sahip olabilir ama C#’da istenilen sayıda kalıtım uygulanabilir buna da çoklu kalıtım denir.
Çok biçimcilik farklı nesnelerin aynı olaya farklı farklı şekillerde yanıt vermesidir. Çok biçimcilik sınıfta olan bir nesnenin özelliklerini sınıf tarafından nasıl değiştirebileceğimizi gösterir. Çok biçimcilik kullanmak için özellikle virtual ve override bi anahtar kelimelerin iyi anlaşılması gerekiyor. Sınıf içindeki nesnenin kendisi tarafından türeyen sınıflar tarafından değiştirilmesini istiyorsa bu virtual ile yapılmalıdır. Ama illa böyle bir değişiklik için virtual kullanılması gerekmez bunu kendi mantığıyla da çözebilir. Sınıfın başına override gelirse yeniden kodlanması ve değişik yapması mümkündür. Override ile kod içerisinde itselin sınıfta yer alan bir yeri çağırabilirsiniz. Yani kısaca çok biçimcilik gereksiz uygulamaları kullanıcıdan saklar ve en temel işlevi ise veri korumaktır.