• Sonuç bulunamadı

(C/C++) BİL - 142Bilgisayar Programlama II

N/A
N/A
Protected

Academic year: 2021

Share "(C/C++) BİL - 142Bilgisayar Programlama II"

Copied!
15
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

1

BİL-142 Bilgisayar Programlama II (C/C++)

Hazırlayan: M.Ali Akcayol Gazi Üniversitesi

Bilgisayar Mühendisliği Bölümü

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasında İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

(2)

3

Giriş

Polymorphism (çok biçimlilik), bir sınıf nesnesinin başka bir sınıfın nesnesi gibi davranmasını sağlar.

Bir sınıf nesnesi başka bir sınıfın veri üyelerine erişebilir.

Bir sınıf nesnesi başka bir sınıfın fonksiyon üyelerine erişebilir.

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

(3)

3

5

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Kalıtım hiyerarşisindeki tüm nesnelerin sanki base class’ın bir nesnesi gibi davranmasını sağlar.

Bir program tanımlanan base class pointer’ı ile derived class’tan oluşturulan nesnelerini gösterebilir.

6

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

(4)

7

Temel Sınıflar ve Türetilmiş Sınıflar

Base class pointer’ı ile türetilmiş class nesnesi gösteriliyor.

Temel Sınıflar ve Türetilmiş Sınıflar

(5)

5

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

10

Derived Class Pointer’ı ve Base Class Nesnesi

Derived class pointer’ı ile base class nesnesi gösterilemez.

Türetilmiş sınıf pointer’ı kullanılarak temel sınıf nesnesindeki üyeler üzerinde işlem yapılamaz.

(6)

11

Derived Class Pointer’ı ve Base Class Nesnesi

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

(7)

7

13

Base Class Pointer’ı ve Derived Class Fonksiyonu

Base class pointer’ı ile derived class’a ait fonksiyon çağrılamaz.

Derived class nesnesini gösteren base class pointer’ını derived class pointer’ına doğrudan dönüştürünce (explicit casting), sadece derived class’ta olan üyelere erişim yapılabilir

(downcasting).

Base class pointer’ı derived class nesnesini

gösterebilir, ancak sadece base class fonksiyonlarını çağırabilir.

14

Base Class Pointer’ı ve Derived Class Fonksiyonu

Base class pointer’ı ile derived class fonksiyonu çağrılamaz.

Base class pointer’ı ile türetilmiş class nesnesi gösteriliyor.

(8)

15

Base Class Pointer’ı ve Derived Class Fonksiyonu

Base class pointer’ı ile derived class fonksiyonu çağrılamaz.

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

(9)

9

17

Upcasting ve Downcasting Upcasting:

Derived class nesnesinin base class pointer’ı ile gösterilmesidir.

Güvenli olduğundan dolaylı (implicit) tür dönüşümü yapılır.

Downcasting:

Derived class pointer’ı ile base class nesnesinin (derived class nesnesinin pointer’ı) gösterilmesidir.

Güvenli olmadığından doğruda (explicit) tür dönüşümü yapılır.

18

Upcasting ve Downcasting

(10)

19

Upcasting ve Downcasting

Türetilmiş class pointer’ı ile base class türündeki pointer (türetilmiş class nesnesini gösteriyor) gösteriliyor.

Konular

Giriş

Kalıtım Hiyerarşisinde Nesneler Arasındaki İlişki

Derived Class Pointer’ı ve Base Class Nesnesi

Base Class Pointer’ı ve Derived Class Fonksiyonu

Upcasting ve Downcasting

Virtual Fonksiyonlar

(11)

11

21

Virtual Fonksiyonlar

Belirlenen tür, hangi sınıfın fonksiyonunun çalıştırılacağına karar verir.

Önceki örnekte, CommissionEmployee pointer’ı üyesi olan print() fonksiyonu ile

BasePlusCommissionEmployee nesnesinin değerlerini yazdırmaktadır.

BasePlusCommissionEmployee pointer’ı üyesi olan print() fonksiyonu ile kendi değerlerini yazdırmaktadır.

virtual fonksiyonlarla nesnenin türüne göre üye fonksiyon çalıştırılır.

22

Virtual Fonksiyonlar

(12)

23

Virtual Fonksiyonlar

Virtual Fonksiyonlar

(13)

13

25

Virtual Fonksiyonlar

26

Virtual Fonksiyonlar

(14)

27

Virtual Fonksiyonlar

Virtual Fonksiyonlar

(15)

15

29

Virtual Fonksiyonlar

Referanslar

Benzer Belgeler

 Tüm inheritance yapılarında (private, protected, public), base class içindeki private üyelere erişlemez ancak türetilmiş sınıfında üyeleri

Rastgele Erişimli Dosyadan Sıralı Okuma. Rastgele Erişimli Dosyadan

[r]

Yordama geçerliliğinde ölçme aracından elde edilen puanlar, ölçme aracının tahmin ettiği puanla (ölçüt puan) karşılaştırılır ve tahminin ne ölçüde doğru

Güçlü Şekercioğlu, Bir Ölçme Aracında Bulunması Gereken Psikometrik Nitelikler, Antalya

Bir testin eşdeğer testler yöntemiyle güvenilirliğini ortaya koymak için, testin iki eşdeğer formu aynı gruba aralıksız aynı anda ya da aralıklı farklı iki

Güçlü Şekercioğlu, Bir Ölçme Aracında Bulunması Gereken Psikometrik Nitelikler, Antalya

7) Süreli bir test uygulaması ise sürenin yeterli verilmesi Maddelerin testte düzgün yerleştirilmesi; okumayı güçleştirecek bir unsurun bulunmaması; test katılımcısının