Compe 225 | C++ Ders 1 – Object ve Class Nedir ? - Davut KARA
OOP: Object Oriented Programming : Nesne tabanlı programlama
Class nedir ? Bir tür konsept tanımı gibi düşünebilir içinde fonksiyonlar olan değişkenler olan. Bir tanım gurubu diyebiliriz.
Object nedir ? Tanımladığımız class ı kullanmak için belirttiğimiz değişkene object nedir.
Örneklersek: evegit adında bir class tanımladığımızı varsayalım, içinde saat değişkeni olsun ve durumne fonksiyonu olsun saat 8 e eşitse eve git yazsın.
if(saat  > 8)
printf(“Daha Vakit Var”);
(Not: yukardaki kod bloğu mantığı anlamak için yazıldı eksik kısmı varsa takılmayın..)
Şimdi class ı yukarıda hallettik yani fonksiyon gibi düşünülebilir ancak fonksiyonun daha gelişmiş hali olarak düşünün. Yukardaki class ı kullanabilmek için bir değişkene atamalıyız. Çünkü yukarda yaptığımız şey bir tanımdır.
Objeye atama yaparken, normal bir değişkeni ele alalım mesela 8 rakamını x e atıyoruz.
İnt x = 8;
Yazdığımızda çözümlersek data_tipi değişken_adı = değişkene atanacak veri;
O halde classı değişkene atarken de benzer mantık yürütmeliyiz. O zaman atamayı yapalım.
İlk bakışta int,double vb veri tiplerini görmeye alışık olduğumuz için yukardaki atama şekli bize bir tuhaf bu nasıl atama der gibi gelebilir. Ancak aslında aynı şeyi yaptık. Yani
data_tipi değişken_adı = değişkene atanacak veri;
Evegit davut (= atanacak değer yok);
O halde ne oluyor. Bizim classımız aslında bir data_tipi oluyor. İnt, double la uzaktan yakından bağlantı kuramamış olabilirsiniz çok kurcalamanıza da gerek yok, içinde bir çok özellik barındıran bir data_tipi gibi düşünebilirsiniz.
Şimdi artık objemizi oluşturduğumuza göre class ımızı kullanabiliriz. Şuan yapmak istediğimiz şey. Evegit classının içinde bulunan durumne() fonksiyonuna erişmek ve çalıştırmak.
Mini Hatırlatma: [ fonksiyonlarda değişkenlerde isimlerden oluşur peki nasıl ayırt ederiz ? değişkenler direk yazılırken fonksiyonlar parametre alabileceği için kelime sonunda () parantezler konulur eğer parametre alacaksa içi param1,param2 şeklinde virgülle ayrılarak doldurulur eğer paramete almıyorsa boş bırakılır. Bir kelimenin değişken mi yoksa fonksiyon çağırmamı olduğunu böyle anlarız.]
Nasıl erişebiliriz ? Programlama da genel olarak her şey bir birinin içine girebilir mesela 2×3 lük bir arrayin 1. Satır 1. Sütün indexine girmek istiyorsak. Arr (! İndex 0 dan başlar) buradaki köşeli parantezleri bir bağlaç olarak kullanırız, ve böyle iç içe olan her şeyin bir bağlaç operatörü vardır. (Operatör: işlemi gerçekleştirecek karaktere verilen isim.)
Dolayısıyla class ın içindeki fonksiyona erişmek içinde nokta . operatörünü kullanırız. O halde buraya kocaman yazıyorum
Artık classımızın içindeki fonksiyonu kullanabiliyoruz.
Ekran çıktısı da : Daha vakit var olacaktır.
Aşağıya tam kodu yazıyorum bunu inceleyiniz..
Evegit Davut; // Classı objeye aktar.
Davut.durumne(); // Objemiz artık class özelliklerine büründü içindeki fonksiyona erişiyor
Şimdi mantığı anladığımıza göre bir genelleme yapalım ve class nasıl tanımlanır, kuralları ile yazalım.
//genellikle değişkenler yazılır.
//genellikle fonkisyonlar yazılır.
Önemli ve karıştırılabilecek kısımları koyu olarak yaptım. Class ın C sini kesinlikle kodda büyük yazmayın hata alırsınız, class isimi yazarken Türkçe karakter alt tire harici özel karakterler ve rakamla başlama yasaktır kısaca klasik kurallar. Son olarak da kod bloğu yazdığımız süslü parantezleri kapatırken noktalı virgülü unutmayın.