Java oop – Nesne Tabanlı Programlama

Merhaba arkadaşlar. Bir önceki yazımıza buradan ulaşabilirsiniz. Java nedir? den bahsetmiştik. Bu yazımızda ise java OOP (Object Orianted Programming) ya da Nesne Tabanlı Programlamaya giriş yapacağız.

Nedir bu OOP?

Java OOP fonksiyonel programlama anlayışından farklıdır, güvenlik temel esastır,  günlük hayatta da karşımıza çıkar çünkü etrafımızda birçok nesne vardır(ulaşım araçları,hayvanlar,bitkiler,oyunlar vb.). Bu nedenle basit kodlamalarla daha iyi sonuçlar çıkar ve kodlara kolay bir şekilde hakim olabiliriz.Bir araçtan örnek verecek olursak örneğin bir  araba. Rengi,lastiği,tekerleği,vitesi(manual,otomatik) gibi çoğaltılabilir.

java OOP’nin 4 temel prensibi vardır bunlar;

• Encapsulation(Kapsülleme)
• Inheritance(Kalıtım)
• Polymorphism(Çok Biçimlilik)
• Abstraction’dır.(Soyutlama)

Class(Sınıf)

Her nesnenin bir sınıfı vardır. Bu sınıflar içeriğinde bulunan özelliklerin ismini almalıdırlar. Misal kedi sınıfında İneğe ait olan özellikler olamaz, ya da İnek sınıfında kuş türlerine özgü kanat içeren bir özellik olamaz. Aşağıda silah sınıfına ait özellikler bulunmaktadır;

Java oop – Constructor(Yapıcı)

Constructor, class içinde oluşturulan değişkenlerin varsayılan değerlerini oluşturmak için kullanılır. Constructorlar özel tanımlı metotlar olduğu için bulunduğu class ile aynı ismi taşımalıdırlar.


yukarıda bulunan “this” komutu ise işlem yapılan sınıfı temsil etmektedir.Eğer Constructor yapısı oluşturulmasaydı derleyici değişken tipine göre default değer atayacaktı.

Ana metotta çağırmak ise oldukça kolaydır. Scanner nesnesi gibi ya da herhangi bir array çağırma işleminin benzeri gibi bir işlem yaparız.

 java OOP – Encapsulation(Kapsülleme)

Encapsulation, bir nesneye dışarıdan erişimin sınırlandırılması için kullanılır.öncelikle erişim belirleyicilerimizden bahsedelim bunlar;

genel, özel, korumalı, varsayılan ‘ tur.

Public nesneye dışardan erişilmesini istediğimizde kullanılırken private dışardan erişimi sınırlandırmak için kullanılır, sadace bulunduğu class içindeki nesneler ile erişim sağlanabilir. Protected ise bulunduğu paket ya da miras alma yöntemi ile erişim sağlanabilir.Son olarak default da aynı paketlerin erişim sağlayabildiği değişkenlerdir ve şu ana kadar hep bu erişim belirleyicisini kullandık.

Örneğin nesnelerimizin dışarıdan erişilmesini istemiyorsak(Gizlilik esas olsun istiyorsak)  değişkenlerimizi şu şekilde tanımlayabiliriz:

private String goneName

özel boole otomatiktir

özel çift bullent 

bu şekilde biz goneName,isAutomatic ve bullent değişkenlerimizi gizli tuttuk. Peki biz gizli tutulan bu nesnelere nasıl erişim sağlayabiliriz?Bunun için Setter ve Getter metotlarını kullanmak zorundayız. Set metodu değişken değerimize yeni bir değer girmek istediğimizde kullanılırken Get metodu Set metodunda girdiğimiz değeri döndürecek.Değişken değerimize ulaşmak istediğimizde Get metodunu kullanacağız.

yanda da örneklerimizde gördüğünüz gibi kullanımı bu şekildedir.Akılda kalması için kısaca şu şekilde söyleyebiliriz;

Getter değer döndürürken Setter değer döndürmez.



 

 

Java oop – Inheritence(Miras Kalma)

Bir class yapısının özelliklerini farklı bir class içerisine aktarma işlemine inheritence denir.Bu yöntemi extends anahtar kelimesini kullanarak uygulayabiliriz. İlk tanımlanan class ismi, ardından tanımlayacağımız da miras alınacak olan class ismi şeklinde oluşturulur ve ana sınıfı etkilemez.

sınıf gitti {

class Akm extends gone{
//Kalıtım yoluyla Akm nesnemizi oluşturduk.
}
class ScarL extends gone{
//Kalıtım yoluyla ScarL nesnemizi oluşturduk.
}  }

public static void main (String [] args) // main metod
{
Akm gone1 = new Akm ();
ScarL gone2 = yeni ScarL ();
gone1.magazine = 7.62;
gone2.magazine = 5.56;
System.out.println (gone1.magazine);
System.out.println (gone2.magazine); }

Polymorphism(Çok Biçimlilik)

Java oop de çok biçimcilik, bir nesnenin birden fazla nesne gibi davranma şeklidir.

Override ve Overloading Methodları

Override(üzerine yazma): Kalıtım yoluyla oluşturulan class’a, yeni bir metod belirleme işlemine override metodu denir.
Overloading (yeniden yazma): Kalıtım yoluyla oluşturulan class’a, var olan bir metodu farklı durumlara özgü olarak yeniden tanımlama işlemine overloading metodu denir.



Java oop Abstraction(Soyutlama)

Bir nesnenin dış dünya ve diğer nesneler ile olan iletişimine Abstraction denir. Back-end ve Front-end kavramları ile bunun örneğini verebiliriz.Örneğin arama motorlarında arama yaptığımız zaman arka planda neler olduğunu bilemeyiz. Soyutlama buna bir örnektir.Encapsulation(kapsülleme) işlemi aynı zamanda bir Abstraction (soyutlama)işlemidir.

Abstraction ile yazımızın sonuna geldik. Umarım faydalı olmuştur.Herkese kolay gelsin.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir