Nesne Yönelimli Programlama (OOP) Felsefesi

Programlama ve yazılım hakkında ne kadar bilginiz olduğu önemli değil, ufak bir giriş dahi yapmış olsanız bu terimi kesin duymuşsunuzdur. Object oriented programming yani nesne yönelimli programlama.


“Bu terimi kesin duymuşsunuzdur” dememin sebebi 1960’lardan bu yana yazılım dünyasını etkisine almış bir programlama metodu olmasıdır. Bu metodoloji o kadar yaygındır ki şu anda en çok kullanılan yazılım dillerinin çok büyük çoğunluğu bu metodolojiyi destekler.

OOP metodolojisinin uygulandığı bazı önemli diller:

Python, C#, C++, Java, Ruby, Swift, PHP, Perl, Object Pascal ve daha birçok dil…

Object Oriented Programming (OOP) yani nesne yönelimli programlamanın önemini anladıysak ne olduğuna geçebiliriz.

NESNE YÖNELİMLİ PROGRAMLAMA NEDİR?

Nesne yönelimli programlama felsefesi sınıflar ve nesneler üzerinden gider. Amaç daha çok programlamayı gerçek hayatla bağdaştırmaktır. Sınıfların içinde nesneler ve nesnelerin de nitelikleri vardır. Bu nitelikler özellik ve eylemdir. Mesela sınıfımız “telefon” olsun. Bu telefon sınıfına özellikler(properties) ve eylemler(methods) ekleyebiliriz. Örneğin bu telefonun markası, rengi, yapım yılı özelliklerindendir(örnekleri artırabiliriz) arama yapabilmesi, mesaj çekebilmesi gibi yetenekleri de eylem(method) diyebiliriz.

Telefon sınıfı örneğinde belirttiğimiz özellikler(properties) değişkenler ile; eylemler(methods) methodlar ile belirtilir.

public class telefon{
    public static void main(String[] args) {
        String marka; //marka telefonun bir özelliği
        int yapimYili; //yapım yılı telefonun bir özelliği
        String renk; //renk telefonun bir özelliği
        marka = "Iphone"; //marka içine değer atama işlemi(initializing)
        yapimYili=2019;//yapım yılı içine değer atama işlemi(initializing)
        renk= "Siyah";//renk içine değer atama işlemi(initializing)
    }
    public void aramaYap(){//eylem(method). Bu method çağırıldığında bir şeyler //yapılacak. (bu method için ekranda "Araniyor..." yazısı çıkacak.)
        System.out.println("Araniyor...");
    }
}

ÖZETLE

Adı üstünde “nesne” yönelimli programlama, yani bu yöntemde ana odağımız nesne. Bir uygulamayı nesneler ve nesnelerin ilişkileri arasında belirli işler yapmak için kullanırız. Her nesne başka bir nesne ile etkileşime geçebilir ve her nesnenin bir sınıfı olur, sınıflar bu nesnelerin ortak yönlerini barındırır.

Her sınıfın özellikleri ve eylemleri(method) bulunur.

Mesela giriş düzeyinde bir örnek verelim. (JAVA)

int a = 5; 

a bir özellik yani sınıfına ait bir özellik oldu ve yukarıdaki işlem ile birlikte a özelliğine 5 sayısını atamış olduk.

PEKİ BİR SINIFI NESNEYE DÖNÜŞTÜRMEK İSTERSEK NASIL YAPARIZ?

public class telefon{
    public static void main(String[] args) {
        

        telefon test = new telefon();//yeni eklenen satır
        test.aramaYap();//yeni eklenen satır


    }
    public void aramaYap(){//eylem(method). Bu method çağırıldığında bir şeyler yapılacak. (bu method için ekranda "Araniyor..." yazısı çıkacak.)

        System.out.println("Araniyor...");
    }
}

Gördüğünüz gibi yukarıda telefon ile aramaYap() methodunu bir arada kullanabilmek -yani bir nevi bağlayabilmek- için telefon sınıfımızı bir obje,nesne haline getirmemiz gerekti ve bunu telefon test = new telefon(); kodumuz ile yapabildik. Burada telefon sınıfımızın adını test koyduk ve aşağıda bunu çağırabildik.

Yukarıdaki örnekte method çalıştırıldığında “Araniyor…” cevabını alırız.

OOP’NİN FAYDALARI:

-Yazılan sınıflar birbirinden bağımsız olduğu için programı parçalara ayırarak kodlayabilirsiniz.

-Yapısı gereği gerçek dünya ile bağlantıları bulunduğu için daha kolay anlaşılır.

-Kod tekrarlarının önüne geçer. (doğru kullanılırsa)

Bu faydalardan dolayı projeler daha az çaba ile yönetilir hale gelmiştir.

Aşağıdaki grafikte OOP’nin projeye etkileri gösterilmiştir.

kaynak: gelecegiyazanlar.turkcell.com.tr

Bu yazıda bazı düzeltmeler yapan Muhammed Sedef’e teşekkürler.

Bir cevap yazın

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