OOP Prensipleri

kpmakaleler.png

1 – Encapsulation (Kapsülleme) : Bir nesnenin değişkenlerini, metodlarını ve değerlerini diğer nesnelerden koruyarak yanlış kullanımlardan koruyan programlama kavramıdır. Nesnelerin içindeki değişken ve metodların korunması işlemi için erişim belirleyiciler(access modifier) ön plana ıkıyor.

public : Her nesneden, tanımlı nesnemizin metod, değişkenlerine erişilebileceğini belirtir.
private : Sadece tanımlı nesne içinde metod, değişkenlere erişilebileceğini belirtir.
protected : Sadece tanımlı nesne içinde ve bu nesneden türetilmiş diğer nesnelerden metod, değişkenlere erişilebileceğini belirtir.

2 – Inheritance(Kalıtım) : Bir üst sınıfın varolan yapısının o sınıftan türetilmiş alt sınıflara aktarılmasına denir. Java yazılım içinde ambiguity(karışıklık) yarattığı için bu bir nesnenin sadece bir kalıtım almasına izin verir. Fakat C++ ve C# bir sınıfın birden çok kalıtım almasına izin verir.

3 – Polymorphism(Çok şekillik) : Bir sınıfın farklı bir sınıf gibi davranabilme ve özelliklerini kullanabilmesidir. Nesne yönelimli programlama dillerinde çok biçimlilik özelliği ise aynı temel sınıfdan türetilmiş olan sınıflarda paylaşılan aynı metodun bu sınıflarda farklı şekillerde uyarlanabilmesidir. Nesnenin davranışı calışma anında belirlendiği için programcılar çok biçimlilik özelliği sayesinde nesnelerin türünü önceden bilmek zorunda kalmazlar.

 

10 Object Orientation – 01 Encapsulation IS-A HAS-A

Merhaba Arkadaslar,
Bu yazimda Java da Encapsulation ,Inheritance , IS-A ve HAS-A kavramlarindan bahsedecegim.

Encapsulation
Encapsulation , sarmalama demektir, yani koruma demektir. Bu korumayi saglamak icin;

  • instance variable larimizi private olarak tanimlayalim.
  • public getter/setter metotlar ile ulasimi saglayalim.
  • getter/setter metotlar icin Java Standartlarinda isim kullanalim.

Bu uc maddeye dikkat edersek kodumuz esnek (flexibility) , bakimi kolay (maintainability) ve genislemeye acik (extensibiliyt) olacaktir.

Encapsulation olmayan durum;

class B {
	public int var1;
}

public class A {
	public static void main(String[] args) {
		B b = new B();
		b.var1 = -1;
	}
}

Continue reading 10 Object Orientation – 01 Encapsulation IS-A HAS-A