C++ Ders Notları 3

  • 24 Ocak 2017
  • 68 kez görüntülendi.
C++ Ders Notları 3

 

Nesneye yönelik programlama nedir?

İlk ve ikinci derslerimizde teorik ve yapısal programlama kullanarak anlatım yaptık fakat 100-200 satır sayısına ulaşan komplike programlarda yapısal programlama kullanmak oldukça zordur. Bunun sebebi aynı işlemleri sürekli tekrarlamak zorunda olmamız. Nesneye yönelik kısımında ise yazmış olduğumuz programı satır sayısını azaltarak daha verimli hale getirecek ve aynı zamanda da programı yazarken daha az yorulacağız.

Depolama:
Depolama, kod kısımını ve kodun işlem yaptığı verileri bir araya getiren ve onları dış etkenlerden koruyan yapıdır. Bu konuda dikkat etmemiz gereken bir nokta var.
Verilerin ve kodların tanımlama şekline bağlı olarak yazmış olduğumuz programın depolama şekli de değişecektir. Kod ve verilerimizin içinde bulundukları nesne public(genel) ise her zaman her yerden erişilebilir ve programın içerisinde farklı alanlarda da kullanılabilir. Ancak yazmış olduğumuz programın içerisindeki kod ve verilerimizin içinde bulundukları nesne private (Özel) ise sadece tanımlanan nesne içerisinde kullanılabilir.

Sınıflara giriş:

C++ programlama dilinde sınıf bildirimi yapılırken class anahtar sözcüğü kullanılır.

#include "stdafx.h"
#include 
using namespace std;
class dikdortgen{
public:
int kisa_kenar;
int uzun_kenar;
int alan(){
return kisa_kenar*uzun_kenar;
}
int cevre(){
return 2*(uzun_kenar+kisa_kenar);
}
}x;
int main(){
cout << "Kisa kenarı giriniz"; cin >> x.kisa_kenar;
cout<< "Uzun kenarı giriniz"; cin>> x.uzun_kenar;
cout <<"Dikdörtgenin alanı:"<<x.alan()<<endl;
cout <<"Dikdörtgenin cevresi:"<<x.cevre()<<endl;
system("PAUSE");
return 0;

YAPICI FONKSİYONLAR:
Bir sınıf oluşturduk ve bu oluşturmuş olduğumuz sınıfa ilk değer ataması yapabilmek için yapıcı fonksiyonlara ihtiyaç duyarız.

  1. Bir nesne oluşturduğumuz zaman o nesnenin yapıcı fonksiyonu otomatik olarak çağrılmaktadır.
  2. Birden fazla yapıcı fonksiyon tanımlanabilmektedir fakat hepsinin isimleri aynı olmak zorundadır.
  3.  Return ifadesi kullanılmaz çünkü değer döndürme işlemi yapmazlar.
  4. Sadece programda 1 kez çalışırlar.

 

#include "stdafx.h"
#include 
using namespace std;
class sayilar{
public:
int a,b,c;
sayilar(){
a=1,b=4,c=15;
}
}sayi;
int main (){
cout <<"A değeri:" << sayi.a << endl;
cout <<"B değeri:" << sayi.b << endl;
cout <<"C değeri:" << sayi.c << endl;
system("pause");
return 0;
}

Normalde sınıf içerisinde başlangıç değeri veremeyiz ancak yapıcı fonksiyonlar sayesinde sınıf içerisinde ilk değer verebilmemiz mümkün hale geliyor. Programda ilk olarak public içerisinde ilk değerleri verdik ve ardından ana fonksiyonumuz olan main() fonksiyonunda değişkenimize ulaştık.

Yıkıcı Fonksiyonlar:
Nesneleri yok edeceğimiz zaman yıkıcı fonksiyonları kullanırız. Kullanımı yapıcı fonksiyonlar kadar kolaydır. Yapıcı fonksiyonlarda olduğu gibi sınıf isimi ile aynı olmak zorundadır sadece tek farkları tilda (~)işaretinin isimlerin başında olması gerekmektedir.

Nesneden Nesneye Atama Yapma:
İstenildiği zaman oluşturduğumuz sınıf nesnelerimizi bir birlerine atayabiliriz. Hatta bir nesneyi birden çok nesneye de atayabiliriz.

Örnek:

#include "stdafx.h"
#include 
using namespace std;
class nesneden_nesneye{
int a;
public:
void atama_yap(int);
int goruntule();
};
void nesneden_nesneye::atama_yap(int sayi){
a=sayi;
}
int nesneden_nesneye::goruntule(){
return a;
}
int main(){
nesneden_nesneye nesne1,nesne2;
nesne1.atama_yap(123);
nesne2=nesne1;
cout<<"Nesne 1 degeri:"<<nesne1.goruntule()<<endl;
cout<<"Nesne 2 degeri:"<<nesne2.goruntule()<<endl;
system("pause");
return 0;

NESNE DİZİLERİ VE GÖSTERİCİLER

ZİYARETÇİ YORUMLARI

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

BİR YORUM YAZ