Object Oriented Programming OOP (Nesneye Yönelik Programlama)
Nesneye yönelik programlama veriler etrafında döner. Nesneye yönelik programlama ana programlama birimi nesnedir. Bir nesne, gerçek zamanlı bir varlığın temsilidir ve veriler üzerinde çalışan veriler ve yöntemler veya fonksiyonlardan oluşur. Bu şekilde, veri ve fonksiyonlar birbirine sıkı sıkıya bağlıdır ve veri güvenliği sağlanır.
Nesneye yönelik programlama her şey bir nesne olarak temsil edilir ve programlar yürütüldüğünde, nesneler mesajlar ileterek birbirleriyle etkileşime girer. Bir nesnenin iletişim için başka bir nesnenin uygulama ayrıntılarını bilmesine gerek yoktur.
Nesneye Yönelik programlama, sınıf (Class), nesneler (Objects) ve bu ikisi etrafında dönen kalıtım (Inheritance), polimorfizm (Polymorphism), soyutlama (Abstraction), kapsülleme (Encapsulation) gibi diğer kavramlarla ilişkili bir programlama biçimidir.
Class (Sınıf)
Bu aslında herhangi bir veri tanımlamaz, ancak sınıf adının ne anlama geldiğini, yani sınıftaki bir nesnenin ne içereceğini ve böyle bir nesne üzerinde hangi işlemlerin gerçekleştirilebileceğini tanımlar. Kendi veri üyelerini ve üye fonksiyonlarını barındıran, o sınıfın bir örneği oluşturularak erişilebilen ve kullanılabilen kullanıcı tanımlı bir veri türüdür. C++ ‘ın yapı taşlarından bir de sınıf kavramıdır. Sınıf, bir nesne için bir taslak gibidir. Sınıf tanımladığınızda, bir nesne için bir plan tanımlarsınız.
Object (Nesne)
Nesne, bazı özellikleri ve davranışları olan tanımlanabilir bir varlıktır. Nesne bir sınıf örneğidir. Sınıf tanımlandığında, bellek ayrılmaz, ancak örnek oluşturulduğunda (yani bir nesne oluşturulduğunda) bellek ayrılır.
Örnek:
Class (Sınıf) | Objects (Nesneler) |
İnsan | Cinsiyet, Yaş, Kilo, Boy Saç Rengi |
Araba | Ferrari, Mercedes, Ford |
Meyve | Muz,Elma, Kivi, Ananas, Erik |
Hayvan | Kedi, Köpek, Tavşan, Leylek |
Inheritance (Kalıtım)
Bir sınıfın başka bir sınıftan özellikler ve özellikler türetebilme yeteneğine Kalıtım veya Miras alma da denir. Kalıtım nesneye yönelik programlamanın en önemli özelliklerinden biridir. Kalıtım, kodun yeniden kullanılabilirliğini sağlar.Bu nedenle, başka bir sınıfın özelliklerini ve işlevselliğini edinerek yeni bir sınıf tasarlayabiliriz ve bu süreçte, üst sınıfın fonksiyonunu değiştirmemiz gerekmez. Sınıfa yalnızca yeni fonksiyonlar ekliyoruz.
Polymorphism (Polimorfizm)
Aynı adı taşıyan, ancak farklı eylemler gerçekleştirecek farklı argümanlara sahip fonksiyonlar oluşturmamızı sağlayan bir özelliktir. Bu, aynı ada sahip ancak farklı şekillerde işlev gören anlamına gelmektedir. Ya da tamamen yeni bir tanım sağlamak için bir fonksiyonu yeniden tanımlamamıza izin verir.
Abstraction (Soyutlama)
Veri soyutlama, dış dünyaya sadece gerekli bilgileri sağlamak ve arka plan ayrıntılarını gizlemek, yani ayrıntıları sunmadan programdaki gerekli bilgileri temsil etmek anlamına gelir.
Encapsulation (Kapsülleme)
Kapsülleme, üzerinde çalışan verilerin ve yöntemlerin veya işlevlerin birlikte paketlendiği işlemdir. Bunu yaparak, verilere dış dünyadan kolayca erişilemez. Nesneye yönelik programlama da veri üyelerini özel olarak yaparak ve bu veri üyelerine erişmek için genel işlevlere sahip olarak kapsülleme gerçekleştiriyoruz.
2 yorumlar
Faydalı bir içerik. Teşekkürler.
Teşekkür ederim.