Nesneye Yönelik Programlama (12. Sunu)
İsim Uzayları (Namespaces) Sınıfınızda Deniz adında iki öğrenci olduğunu kabul ediniz. Böyle bir durumda bu öğrencileri birbirlerinden ayırt edebilmek için ekstra bir bilgiye ihtiyaç duyacağınız aşikardır. (Soyad, memleket, anne veya baba adı gibi)
İsim Uzayları (Namespaces) Büyük bir yazılım projesinin farklı bölümlerinin 10 ayrı yazılımcı tarafından yazıldığını ve bu parçaların en sonunda bir araya getirilerek projenin tamamlandığını hayal ediniz. Yazılımcıların aynı değişken veya fonksiyon adlarını kullanmaları durumundaki çakışmaların önüne nasıl geçilebilir acaba?
İsim Uzayları (Namespaces) İsim uzayları mantıksal gruplamalara (değişken ve fonksiyon gruplamaları) izin vererek muhtemel isim benzerliklerinin önüne geçilmesini sağlarlar. using anahtar kelimesi sayesinde bir isim uzayı bir programın kapsamına dahil edilir. using namespace std; using namespace std; deyimi standart kütüphanenin bütün bileşenlerini kapsam dahiline sokar. std isim uzayının tamamı yerine örneğin sadece string bileşenini kapsama almak için ise: using std::string; kullanılır.
Nesneye Yönelik Programlamanın Temel Kavramları (Özet) Sınıf (Class) Üye Değişkenler (Nitelikler) (Data Members) Üye Fonksiyonlar (Davranışlar) (Member Functions) Nesne (Object)
Nesneye Yönelik Programlamanın Temel Özellikleri (Özet) Veri Soyutlama (Data Abstraction) Sınıflar sayesinde özellikleri ve davranışları tarafımızdan belirlenebilen soyut veri tipleri (abstract data types-adt) tanımlayabilme özelliğine veri soyutlama denir. Kapsülleme (Encapsulation) Sınıfların bazı üye değişkenlerinin ve üye fonksiyonlarının ait oldukları sınıfların dışında erişimlerine sınırlama getirebilme özelliğine kapsülleme denir. Bu amaçla public, private ve protected kelimeleri kullanılır. Bilgi Gizleme (Information Hiding) Sınıfların tanım ve uygulama dosyalarının birbirlerinden ayrılması özelliğine bilgi gizleme denir. Kalıtım – Miras (Inheritance) Bir temel sınıfa yeni özellikler ve davranışlar ekleyerek türetilmiş bir sınıf elde edilebilmesi özelliğine kalıtım denir. (Kopyala-yapıştırdan farkı??) Çok Şekillilik (Polymorphism) Birden fazla formu olan bir değişken, fonksiyon veya nesne tanımına izin veren özelliğine çok şekillilik denir. (İsim uzayları, fonksiyon veya operatörlerin aşırı yüklenmesi)