Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

Nesneye Yönelik Programlama

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
1,232
Mühendis Puanı
3,864
Nesneye Yönelik Programlama


Bu yazımda nesneye yönelik programlama, Bjarne Stroustrup ve James Gosling hakkında bir takım bilgiler vereceğim. Bugün kime sorsanız Steve Jobs’u tanır bugün kimin eline baksanız android yada ios işletim sistemine sahip bir telefonu kısacası akıllı bir telefonu vardır. Peki bu telefonları yapanları, satanları çok iyi tanırken arka planda bunların doğuşuna bunların oluşumuna sebep olan kişileri, yazılımları, programları tanıyor muyuz, biliyor muyuz?

Mesela James Gosling veya Bjarne Stroustrup ne kadar tanıyoruz? Eminim bir çoğunuzun tanımadığı; duymadığı isimler bunlar. İşte bizim hayatımızı değiştiren teknolojinin dahada farklı bir boyut almasını sağlayan yani “object oriented programming” dediğimiz nesneye yönelik programlamanın mucitleri.

Nesneye Yönelik Programlama Nedir​

Nesneye yönelik programlama, uygulamalar geliştirmek için nesne ve bu nesneler arasında alışverişi kullanan bir yazılımdır.
Temelleri 1960’lı yıllara dayanan nesneye yönelik programlama o dönem donanımla beraber uygulamalar daha karmaşık bir hal aldı ve bu neticede araştırmacılar bilgisayar programlarının sürekliliğinin ve kalitesinin nasıl arttıracağını, Geliştireceğini Araştırmaya başladılar ve bu araştırmalar sonucunda NESNEYE YÖNELİK PROGRAMLAMA ortaya çıktı.
Nesneye yönelik programlama; birbiriyle ortaklaşa çalışan nesneler koleksiyonu diye adlandırılabilir. Nesneler aralarında mesaj alışverişi yapan ve belirlenen görevleri yerine getiren küçük makinalar olarak da düşünülebilir.
  • Katılım
  • Modülerlik
  • Çok Biçimlilik
  • Kapsülleme
  • Sınıflar


Temel olarak bu bölümleri bulundurur ve diğer dillerden ayıran özellikler de burada yatar.
Modülerlik: Kompleks ve Büyük bir problemin uygulama esnasında Küçük küçük parçalara ayrılarak çözümlenmesine denilebilir.
Sınıflar: Nesneye yönelik programlamadaki yapıyı ve modülerliği sağlayan türlerdir.
Bunu bir örnek ile açıklayacak olursak örneğin; insanlar diye bir sınıf oluşturduğumuzda siz bu sınıfın bir parçasısınız alt bir sınıf olarak canlılar sınıfının bir alt sınıfıdır insanlar.
Bir nesne bir sınıfta tanımlanan özellik ve davranışlara sahipse o sınıfa aittir.
Katılım: Bir sınıfa ait özellikler ve işlemlerin yeni bir sınıfa birebir aktarılmasıdır. Yeni sınıf eski sınıfın özellikleri ve işlemlerine sahip olmasına ek olarak kendisi de özellikler ve işlemler tanımlayabilir.
Çok Biçimlilik: Nesneye yönelik programlamada oluşturulan nesnelerin gerektiğinde başka bir nesne gibi davranabilmesi diyebiliriz. Çok biçimlilikle programdaki her nesne kendi davranışını değiştirmeden, kalıtım hiyerarşisine göre farklı biçimlerde görülebilir.
Kapsülleme: Nesneye yönelik programlamada herhangi bir nesnenin metotlarını, verilerini ve değişkenlerini diğer nesnelerden saklayarak ve bunlara erişimini sınırlandırarak yanlış kullanımlarını karşı koruyan bir konsep diyebiliriz. Bu konsepti 3 aşamalı olarak sınırlandırabiliriz.
  1. Public (açık): Metotlara ve verilere her nesneden erişebiliriz.
  2. Private (özel): Sadece metodun tanımlandığı sınıftan örneklendirilmiş nesnelerle ulaşabiliriz.
  3. Protected (korumalı): Sadece metodun tanımlandığı sınıftan örneklendirilmiş nesnelerle ulaşabiliriz ve bu sınıftan türetilmiş alt nesnelerinden ulaşabiliriz.
Ve gelelim bu alanda çığır açmış günümüzde kullanımı halen popüler olan JAVA ve C++ yaratıcılarına;
Bjarne Stroustrup: C++ yaratıcısıdır nesneye yönelik programlamada ilk ve başarılı bir programlama dili yapmıştır.


Yazdığı “The C++ Programming Language” kitabı 19’dan fazla dile çevrilmiştir. Bu nesneye yönelik programlama dili diğer programlama dilleri gibi kodlama ve kullanıldığı platform üzerinde çalışıyordu.

James Gosling: Sun Microsystems mühendislerinden biridir. 23 Mayıs 1995’te piyasaya sürülen açık kaynak kodlu nesneye yönelik olan JAVA dilinin yaratıcısıdır. JAVA, platformdan bağımsız çalışma gereksiniminden ortaya çıkmıştır.

Yani JAVA’dan önceki dillerle yazılmış programlar sadece yazıldığı platformda çalışıyordu ve JAVA’nın bu dillere nazaran en büyük avantajı ise sadece yazıldığı değil bütün platformlarda çalışabilir olması idi. Örneğin JAVA ile Windows’ta yaptığınız programı aynı zamanda LİNUX’tada çalıştırabiliyorsunuz. JAVA birçok özelliğini C ve C++ dillerinden almıştır. Nesneye Yönelik Programlamada C++ yakındır, Sözdizim (syntax) olarakda C yakın bir dildir tabi JAVA’yı bu dillerden ayıran en büyük özellik dediğimiz gibi programlandığı platform ve diğer tüm platformlarda çalışabilmesi.
 

Son kaynaklar