Nesne yönelik programlama, (İngilizce: Object - Oriented Programming) ilkel diyebileceğimiz programlama yöntemlerinin ve ilkel veri tiplerinin yetersiz kalmasından dolayı ortaya çıkmış bir yöntemdir.
Not: Konuda bazı yerlerde "nesne" bazı yerlerde "obje" olarak belirttim fakat ikisi aynı kavramlardır.
Genel olarak programlama dillerinde 3 tip ilkel veri tipi vardır:
-Sayı
-Karakter
-Bit ya da Mantıksal (1, 0 ) ya da (true, false).
Hızlıca bir örnek verecek olursak. Yazdığımız programda bir insanın yaşını tutmak için sayı tipinde bir değişken tutmak yeterlidir.
*Bu makalede bulunan kod parçaları kaba kod denilen ve çalışmayan kodlardır. Okuması kolay olsun diye JavaScript ve JSON'a benzer kodlar kullandım.
Ya da ismini tutmak için karakterler dizisi kullanırız.
Ama bunun yeterli olmadığı durumlarda, örneğin bir sosyal medya uygulaması ya da sitesi programlarken, insana ait özelliklerin bir arada verilmesi ve verilerin beraber işlenmesi, yönetilmesi çok daha kolaydır.
Bu örnekte ise ilkel veri tiplerini bir arada kullanarak ihtiyacımız olan insan özelliklerinin beraber bulunduğu bir "İnsan" nesnesi örneği verelim. Zaten örneği inceleyince Nesne ile veri tipinin farkını çok rahat anlayacaksınız.
Gördüğünüz gibi ilkel veri tiplerini beraber kullanarak bir İnsan nesnesi oluşturdum. Artık her insan özelliklerine ihtiyacım olduğunda direkt bu nesneden erişebilirim.
Mesela bu kişinin isim verisine erişmek istersem,
Ya da E-Posta adresine,
Şeklinde erişebilirim.
Kısaca birden fazla objeyi birlikte kullanma, bunları oluşturma, değiştirme, ya da bunlardan başka objeler üretme (kalıtım) gibi tekniklerin geneline nesneye yönelik programlama denir.
Objelerin sadece özellikleri olmaz. Fonksiyonları(metotları) da olabilir. Yani bir insan kendi adını söyleyebilir. E-posta adresini değiştirebilir veya başka işleri de yapabilir gibi.
İnsan objemize kendini tanıtma fonksiyonu eklersek,
Kodunu çalıştırdığımızda bu objenin çıktısı;
Merhaba! Ben Ahmet.
Şeklinde olacaktır.
Bu kısımda bir şey anlamadıysanız sorun yok. Zaten tüm programlama dillerinin diğerlerinden farklı şekillerde Nesne oluşturma ve bunlara metot tanımlama yöntemleri vardır.
Basitçe tüm programlama dillerinin nesneye yönelik programlama yolları farklı olabilir. Yeni bir dil öğrenirken o dilin nesneye yönelik programlama mantığını da öğrenmeniz gereklidir.
Teşekkür ederim.
Not: Konuda bazı yerlerde "nesne" bazı yerlerde "obje" olarak belirttim fakat ikisi aynı kavramlardır.
Genel olarak programlama dillerinde 3 tip ilkel veri tipi vardır:
-Sayı
-Karakter
-Bit ya da Mantıksal (1, 0 ) ya da (true, false).
Hızlıca bir örnek verecek olursak. Yazdığımız programda bir insanın yaşını tutmak için sayı tipinde bir değişken tutmak yeterlidir.
Kod:
yaş = 22
*Bu makalede bulunan kod parçaları kaba kod denilen ve çalışmayan kodlardır. Okuması kolay olsun diye JavaScript ve JSON'a benzer kodlar kullandım.
Ya da ismini tutmak için karakterler dizisi kullanırız.
Kod:
isim= "Ahmet"
Ama bunun yeterli olmadığı durumlarda, örneğin bir sosyal medya uygulaması ya da sitesi programlarken, insana ait özelliklerin bir arada verilmesi ve verilerin beraber işlenmesi, yönetilmesi çok daha kolaydır.
Bu örnekte ise ilkel veri tiplerini bir arada kullanarak ihtiyacımız olan insan özelliklerinin beraber bulunduğu bir "İnsan" nesnesi örneği verelim. Zaten örneği inceleyince Nesne ile veri tipinin farkını çok rahat anlayacaksınız.
Kod:
İnsan: {
"yaşı": 22,
"cinsiyeti": "Erkek",
"isim": "Ahmet",
"soyisim": "Yılmaz",
"eposta": "[email protected]",
"evli": false,
}
Gördüğünüz gibi ilkel veri tiplerini beraber kullanarak bir İnsan nesnesi oluşturdum. Artık her insan özelliklerine ihtiyacım olduğunda direkt bu nesneden erişebilirim.
Mesela bu kişinin isim verisine erişmek istersem,
Kod:
İnsan.isim
Ya da E-Posta adresine,
Kod:
İnsan.eposta
Şeklinde erişebilirim.
Kısaca birden fazla objeyi birlikte kullanma, bunları oluşturma, değiştirme, ya da bunlardan başka objeler üretme (kalıtım) gibi tekniklerin geneline nesneye yönelik programlama denir.
Objelerin sadece özellikleri olmaz. Fonksiyonları(metotları) da olabilir. Yani bir insan kendi adını söyleyebilir. E-posta adresini değiştirebilir veya başka işleri de yapabilir gibi.
İnsan objemize kendini tanıtma fonksiyonu eklersek,
Kod:
İnsan: {
"yaşı": 22,
"cinsiyeti": "Erkek",
"isim": "Ahmet",
"soyisim": "Yılmaz",
"eposta": "[email protected]",
"evli": false,
kendiniTanıt: function() {
alert('Merhaba! ben ' + this.isim+ '.');
}
}
Kod:
İnsan.kendiniTanıt()
Kodunu çalıştırdığımızda bu objenin çıktısı;
Merhaba! Ben Ahmet.
Şeklinde olacaktır.
Bu kısımda bir şey anlamadıysanız sorun yok. Zaten tüm programlama dillerinin diğerlerinden farklı şekillerde Nesne oluşturma ve bunlara metot tanımlama yöntemleri vardır.
Basitçe tüm programlama dillerinin nesneye yönelik programlama yolları farklı olabilir. Yeni bir dil öğrenirken o dilin nesneye yönelik programlama mantığını da öğrenmeniz gereklidir.
Teşekkür ederim.
Son düzenleyen: Moderatör: