Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Nesne Yönelimli Programlama Dersi

Benzer bir sunumlar


... konulu sunumlar: "Nesne Yönelimli Programlama Dersi"— Sunum transkripti:

1 Nesne Yönelimli Programlama Dersi
«Bir Dönemin Ardından…»

2 C++’ın Temel Elemanları
C/C++ arasındaki temel farklar Belirteçler (identifiers) -> kısıtlamaları Temel veri tipleri -> int, bool, char, float, … Giriş – çıkış deyimleri (cin, cout) Arttırma, azaltma operatörleri (++, --) Escape sequences (\n, \t, \’, …) Using namespace std…

3 Giriş - Çıkış Input stream, output stream
get, getline, ignore, peek, putback, clear fonksiyonları fill, setfill, unsetf, flush fonksiyonları Dosya okuma-yazma işlemleri, açılış modları (ios::app, ios::trunc, ios::binary, ...)

4 Kullanıcı Tanımlı Fonksiyonlar
Void fonksiyonlar Value ve reference parametreler Local, global değişkenler static değişkenler

5 Kullanıcı Tanımlı Veri Tipleri, İsim Uzayları ve String Sınıfı
enum tipi (değişken tanımlama, atama, illegal işlemler, karşılaştırmalar, döngüler, fonksiyonlarla kullanımı, isimsiz veri tipleri…) typedef ile alias (takma ad) oluşturma namespace’ler (erişim, using deyimi, global, local ve namespace’deki değişkenlere erişim, isimsiz namespace’ler) string sınıfı (length, size, find, substr, swap fonksiyonları, + operatörü, string::npos sabiti) C string’leri (null terminated karakter dizileri) : strcpy, strlen, strcmp, c_str fonksiyonları

6 Preprocessor Directives
#include #define, macrolar ve #undef Koşullu derleme (#if, #ifdef, #ifndef, #elif, #endif) #error #pragma # ve ## operatörleri #line Öntanımlı sembolik sabitler (__DATE__, __TIME__) assert macrosu ve #define NDEBUG

7 Classes and Data Abstractions
Sınıf kavramı Üyelere erişim tipleri (public, protected, private) Sınıf üyelerine erişim ve atama operatörü Sınıfların faaliyet alanı (class scope) Fonksiyonlara sınıfların geçirilmesi Üye fonksiyonların implementasyonu, scope resolution operatörü Constructor ve destructor’lar, ne zaman çağrıldıkları Sınıf nesnesi dizileri Abstract data type (soyut veri tipi) Information hiding (.h - .cpp ayrımı)

8 Inline fonksiyonlar (faydaları, kullanımı, kısıtlamaları,…)
Fonksiyon argümanlarına default değer atamaları Implicit conversions

9 Kalıtım (Inheritance) ve Kompozisyon (Composition)
Base ve derived class’lar Tekli, çoklu ve çok seviyeli kalıtım Üye erişim belirteci (member access specifier) Derived ve base class’ların constructor’larının, üye fonksiyonlarının çağrımı Member access specifier ile member type’lar arasındaki ilişki Base class’ın constructor’larının derived class’a dahil edilmesi (using Base::Base) Composition (tanımlanması, constructor ve üye fonksiyonların çağrımı,…) Nesne yönelimli tasarımın 3 ana esası, noun-verb yöntemi

10 Pointer’lar, Dinamik Bellek Tahsisi…
Pointer değişkenler, address of (&) ve dereferencing (*) operatörleri, class pointer’ları Dinamik bellek tahsisi (new, delete, heap-stack bellek, dinamik diziler) Pointer arttırımı/azaltımı (increment/decrement) Pointer’ların fonksiyonlarda kullanımı Shallow/deep copy Copy constructor Fonksiyona pointer Void pointer’lar

11 Sanal Fonksiyonlar Compile-time binding / run-time binding
Sanal fonksiyonların oluşturulması, kullanımı, base class pointer’ları aracılığıyla tek bir arayüz ile çok sayıda türetilmiş sınıfın kullanımı Sanal destructor’ların gerekliliği Saf sanal fonksiyonlar Soyut sınıflar Sanal temel sınıflar Referans değişkenler

12 Fonksiyon ve Operatör Aşırı Yüklemesi
Fonksiyonların aşırı yüklenmesi Operatörlerin aşırı yüklenmesi (kısıtlamalar, kavramlar,…) this pointer’ı Sınıfların private üyelerine erişim amacıyla kullanılan sınıf üyesi olmayan friend fonksiyonlar Operatör fonksiyonlarının member-function ya da friend function olma durumları (faydalar, gereklilikler,…) Çok sayıda operatör aşırı yükleme örneği…

13 Const, Static Const değişkenler, const pointerlar, const nesneler ve const üye fonksiyonlar, mutable değişkenler… Sınıf üyesi static değişkenler ve fonksiyonlar (paylaşımlı bellek örneği, kullanımı…)

14 Şablonlar (Templates)
Function ve class templates Function ve class template specializations Function template tanımlaması, kullanımı, faydaları ve kısıtlamaları (örn. information hiding) Parametreleştirilmiş sınıflar – class templates (tanımlanması, kullanımı, non-type template parameters, default types, …)

15 Tip Dönüşümleri Eski stil dönüşümler static_cast const_cast
reinterpret_cast dynamic_cast downcast, upcast tanımları RTTI typeinfo sınıfı – typeid fonksiyonu Ne amaçla – nerelerde kullanılacakları, kısıtlamaları ve birbirlerine üstünlükleri…

16 Sınavda başarılar…


"Nesne Yönelimli Programlama Dersi" indir ppt

Benzer bir sunumlar


Google Reklamları