Nesne Yönelimli Programlamanın Dört İlkesi (Yazı Dizisi)

Nesne Yönelimli Programlamanın Dört İlkesini gösteren arkaplan

Nesne Yönelimli Programlamanın (Object-Oriented Programming) vazgeçilmez dört ilkesi vardır. Bunları kullanmadan NYP (OOP) ile programlama yapmak neredeyse anlamsızdır. Şayet yaparsanız prosedürel programlama yapmış gibi olursunuz. Çünkü OOP’den asıl verimi almamızı sağlayan ilkeler bunlardır.

Öyleyse gelin bu ilkelere giriş yazımızda kabaca bir göz atalım. Yazı dizisinin devamında her birini ayrıntısıyla ve örneklerle inleyeceğiz.

Bu makaleyi anlamak için önceden sahip olmanız gereken bilgiler
  • Programlama temelleri
  • Sınıf kavramı (field, property ve method bilgisi)

Kalıtım/Tevarüs (Inheritance); bir sınıfı başka bir sınıftan türetmeye ve tüm özelliklerini devralmaya denir. Amaç kod tekrarını azaltmaktır.

Soyutlama (Abstraction); bir nesnenin ne yapması gerektiğini söylemek ama nasıl yapılacağını tevarüs eden sınıfa bırakmaktır. Alt sınıf, tevarüs ettiği soyut özellikleri somutlaştırır.

Çokbiçimlilik (Polymorphism); aynı abstract class veya interface’ten türemiş sınıfların aynı metodlara sahip oldukları halde kendilerine has metod gövdeleri aracılığıyla farklı biçimde davranışlar ortaya koyabilmesidir. Çalışma zamanında method overriding, abstract class ve interface polimorfizmi gibi türleri vardır. Derleme zamanında geçerli olan method overloading de çokbiçimlilik olarak nitelenir.

Kapsülleme (Encapsulation); sınıfın bazı elemanlarına erişimi kontrollü hale getirmek, güvenlik ve tutarlılık açısından veriyi ve nesne davranışını korumaktır.

Gelin bunları ayrıntılarıyla ve gerçek hayat örnekleriyle inceleyelim.

Sıradaki yazımız: Kalıtım (Inheritance) Nedir? Kod Tekrarından Nasıl Kurtuluruz? (1/4)

Yazı dizisinin devamında şu makaleler bulunmaktadır.

  • Soyutlama (Abstraction) Nedir? Interface ve Abstract Class Farkı (2/4)
  • Çokbiçimlilik (Polymorphism) Nedir? Override ve Overload Farkı (3/4)
  • Kapsülleme (Encapsulation) Nedir? Veriyi Dış Dünyadan Nasıl Koruruz? (4/4)

Ayıntılı bilgi için: C# Documentation – Object-Oriented Programming

Şunlar da ilginizi çekebilir...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir