"Enter"a basıp içeriğe geçin

Nesne Yönetimli Programlama

Nesne Tabanlı Programlama Nedir?

Nesne tabanlı programlama, gerçek dünyanın bilgisayar ortamına aktarımını kolaylaştırma amacı taşıyan bir programlama türüdür. Yapısal programlamada amacımız, yapacağımız işi temel görevlere ayırıp, bu görevlere göre fonksiyonlar tasarlamaktı. Nesne tabanlı programlamada ise her şey nesnelere dayalıdır. Tasarlayacağımız programda ihtiyacımız olacak ögeleri ortak özelliklerine göre ayırıp, bu özellikleri sağlayacak sınıflar oluştururuz.

Nesne tabanlı programlamanın bize sağlayacağı temel faydalar:

Gerçek dünyayı bilgisayar ortamına daha kolay ve etkili aktarabiliriz. Çünkü gerçek dünyada da programımızda olduğu gibi, her şey nesnelerden oluşurKod tekrarı en aza iner. Nesneleri ortak özelliklerine göre sınıflayıp sınıfımızı ona göre tasarladığımız için, a nesnesi için yazdığımız kodu tekrar yazmadan b nesnesi için de kullanabiliriz. Örneğin bir oyun tasarlıyoruz. Tüm karakterler için belli başlı ortak özellikler vardır. Her bir karakter için aynı kodları tekrar tekrar yazmak yerine, bu özellikleri bir sınıfta toplarız ve karakterlerimizi de bu sınıflar üzerinden oluştururuz. Bu konuyu daha sonra detaylı işleyeceğimiz için hızlı geçiyorum 🙂Nesneler arası bağlantı az olduğundan ve kapsülleme gibi yöntemlerin varlığından dolayı çok daha güvenli kodlar yazmamızı sağlar.Nesne tabanlı programlamaya ufak bir giriş yaptığımıza göre, aşağıdaki konulara tıklayarak daha fazlasını öğrenebilirsin 🙂 Bu arada söylemeyi unuttum. Derslerimizi C++ yazılım dilinde işleyeceğiz. Bu yüzden C++ ile ilgili genel kavramları bilmen gerekiyor. (siteye o konuları da yakında ekleyeceğim)

Bölüm İçeriği:

Konularİçindekiler
Sınıflar  ________________________Sınıf oluşturma ve bölümleri, constructor, explicit, kapsülleme, binary scope, resolution, member initializer list, fonksiyon imzası, header dosyası oluşturma
RandomRandom sayı oluşturma, random motorları, ctime kütüphanesi
Const-constexprConst, üye fonksiyonlarda const kullanımı, constexpr
Call by pointer-value-referanceCall by value, call by pointer, call by referance
initialization (ilklendime)Değişken ilklendirme, dizi ilklendirme, üye ilklendirme sözdizimi, Uniform Initialization, Konteyner ilklendirme (initializer_list)
Enum-enumclassEnumeration, enum class, kendi veri tipimizi oluşturma
MapsHarita kullanımı, haritayı uniform ilklendirme
Array-vectorVector sınıfı, array sınıfı, konteyner sınıf nedir, temel sınıf fonksiyonları
Range-based for loopRange based for döngüsünün kullanımı
Iomanipsetw, setfill, setbase, setprecision fonksiyonları ve setf ile çıktı manipülasyonu. Virgülden sonraki basamak gösterimini ayarlama
String sınıfıString oluşturma, string eşitliği, begin end rbegin rend iteratörleri, string nesnesi boyutu, iki stringi yer değiştirme, stringi boşaltma, stringin boş olduğunu anlama, at operatörü, stringin bir kısmını değiştirme, stringe ekleme, stringin bir kısmını silme, string içinde arama
StaticFonksiyonlarda static, üye değişkenlerde static, üye fonksiyonlarda static
Static cast
IostreamStream nedir, buffer nedir, Iostream kütüphanesi, put fonksiyonu, get fonksiyonu, ignore fonksiyonu, putback fonksiyonu, Formatsız çıktı fonksiyonları
Dosya işlemleriText-binary farkı, dosya streami açma, text dosyasından okuma, text dosyasından yazdırma, binary dosyadan okuma, binary dosyaya yazdırma.
Friend sınıf ve fonksiyonlarSınıfların ve fonksiyonların friend yapılması
Operatör aşırı yüklemeOperant nedir. operatörleri global ve üye olarak aşırı yükleme, profix-postfix operatörleri
PointersPointer nedir, * ve & işaretleri, pointer ve diziler, pointer aritmatiği, pointerın pointerı, fonksiyon pointerları
Dinamik belleknew, heap vs stack, sığ kopyalama, derin kopyalama, copy-assigment operatörleri, örnek konteyner sınıf
Smart pointers
Move semantic
KalıtımKalıtım nedir, protected nedir, çok biçimliliğe giriş
Çok biçimlilikÇok biçimlilik (Polymorphism) nedir, nesne üyelerine pointer ile erişim, sanal fonksiyonlar, sanal sınıflar
Algoritma kütüphanesi
Error tipleri
Exception
Template

Yararlandığım Siteler: http://cplusplus.com/https://www.geeksforgeeks.org/c-plus-plus/https://en.cppreference.com/w/https://www.learncpp.com/