Nesne Yönelimli Programlamada Encapsülasyon ve Kohezyon: “Fasulye Pilav” Örneği
Nesne yönelimli programlama (NYP) prensiplerini anlamak için basit, anlaşılır örnekler kullanmak oldukça faydalıdır. Bu makalede, “Fasulye Pilav” örneğini kullanarak NYP’nin temel taşlarından olan encapsülasyon ve kohezyon kavramlarını detaylı bir şekilde ele alacağız. Bu kavramların doğru bir şekilde uygulanması, daha temiz, daha sürdürülebilir ve daha kolay bakımı yapılabilen yazılımlar geliştirmenize yardımcı olur. Ayrıca, verimliliği artırır ve hataları azaltır.
Öncelikle, encapsülasyon ve kohezyon kavramlarını ayrı ayrı inceleyelim. Encapsülasyon, bir nesnenin iç durumunu dış dünyadan gizleme ve sadece belirli yöntemler aracılığıyla erişilebilir kılma prensibidir. Bu, verilerin doğruluğunu ve güvenliğini sağlar. Örneğin, bir “Pilav” nesnesinin iç durumunu (örneğin, pirinç miktarı, pişirme süresi) dışarıdan doğrudan değiştiremeyiz. Bunun yerine, “pişir()” veya “pirincEkle()” gibi yöntemler kullanarak bu duruma erişim sağlanır. Bu sayede, hatalı verilerin girişini önleyebiliriz. Sonuç olarak, sistem daha güvenilir hale gelir.
Kohezyon ise, bir nesnenin içindeki metodların ve verilerin ne kadar birbirine bağlı olduğunu ifade eder. Yüksek kohezyona sahip bir nesne, tek bir, iyi tanımlanmış bir görevi yerine getirir. Örneğin, “Pilav” nesnesinin yalnızca pilav pişirmeyle ilgili metodları içermesi gerekir. “Pilav” nesnesinin içinde, örneğin, “fasulyePişir()” metodu bulunmamalıdır. Bunun yerine, ayrı bir “Fasulye” nesnesi oluşturmak daha mantıklıdır. Bu şekilde, her nesnenin sorumlulukları net bir şekilde tanımlanmış olur. Dahası, kod okunabilirliği ve sürdürülebilirliği artar.
Şimdi, “Fasulye Pilav” örneğini kodla ele alalım. Aşağıda, Java dilinde basit bir örnek verilmiştir:
public class Pilav {
private int pirincMiktarı;
public Pilav(int pirincMiktarı) {
this.pirincMiktarı = pirincMiktarı;
}
public void pirincEkle(int miktar) {
this.pirincMiktarı += miktar;
}
public void pişir() {
// Pilav pişirme işlemleri burada gerçekleştirilir.
System.out.println("Pilav pişiriliyor...");
}
}
public class Fasulye {
private int fasulyeMiktarı;
public Fasulye(int fasulyeMiktarı) {
this.fasulyeMiktarı = fasulyeMiktarı;
}
public void fasulyeEkle(int miktar) {
this.fasulyeMiktarı += miktar;
}
public void pişir() {
// Fasulye pişirme işlemleri burada gerçekleştirilir.
System.out.println("Fasulye pişiriliyor...");
}
}
Bu örnekte, “Pilav” ve “Fasulye” nesneleri, encapsülasyon ve yüksek kohezyon prensiplerine uygun olarak tasarlanmıştır. Her nesne, kendi sorumluluklarını yerine getirir ve iç durumlarını dışarıdan korur. Bu şekilde, daha düzenli, daha anlaşılır ve daha bakımı kolay bir kod yapısı elde edilir. Ayrıca, kodun gelecekte genişletilmesi ve değiştirilmesi daha kolay olur.
Sonuç olarak, encapsülasyon ve kohezyon, nesne yönelimli programlamanın temel prensipleridir ve yazılım kalitesini önemli ölçüde artırır. Bu basit “Fasulye Pilav” örneği, bu kavramları anlamanıza ve uygulamanıza yardımcı olmak için tasarlanmıştır. Daha fazla bilgi edinmek için bu İngilizce makaleye ve kendi web sitemi ziyaret edebilirsiniz.
#Etiketler: Encapsülasyon, Kohezyon, Nesne Yönelimli Programlama, NYP, Java, Fasulye Pilav, Yazılım Geliştirme, Kod Kalitesi, Sürdürülebilirlik