Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
NİŞANTAŞI ÜNİVERSİTESİ
NESNEye yönelİk PROGRAMLAMA ÇOK BİÇİMLİLİK KAVRAMI, BİRDEN FAZLA ARABİRİMİ UYGULAYAN SINIFLAR NİŞANTAŞI ÜNİVERSİTESİ © İktisadi, İdari ve Sosyal Bilimler Fakültesi iisbf.nisantasi.edu.tr
2
GİRİŞ Nesne tabanlı programlamanın dört temel ilkesi:
Kapsulleme (Encapsulation) Kalıtım (Inheritence) Polimorfizm (Polymorphizm) Soyutlama(Abstraction)
3
GİRİŞ Ancak önceki slayttaki dört temel ilkenin birlikte kullanıldığı bir ortam gerçekten nesne tabanlı olacaktır. Bunlardan sadece birini sunan bir ortam (örneğin Visual Basic Dili) için nesne tabanlı demek olmaz. Java bu 4 prensip için de mekanizmalar sunmaktadır ve bu nedenle nesne tabanlı bir dildir.
4
ÇOK BİÇİMLİLİK KAVRAMI
Java tip sisteminin bir yerde sadece belli tipten (yani sınıftan) bir nesne kabul edeceğidir. Belli bir sınıftan bir nesne beklenen yerde, başka bir sınıftan nesneyi kullanmanın iki tipik yolu vardır: Sarıcı (wrapper) kullanmak Çok biçimlilik (polymorphism) tekniği
5
ÇOK BİÇİMLİLİK KAVRAMI
Çok biçimlilik (polymorphism), somut bir nesnenin farklı sınıflara ait nesneler beklenen yerlerde (sorun çıkarmadan) kullanılmasıdır. Bir nesnenin bir yerde istenen işlevselliği gösterebilmesi, onun beklenen davranışı (expected behavior) sağlamasıdır. Java dilinde, bu nesnenin istenen public yöntemlere ve verilere sahip olması demektir.
6
ÇOK BİÇİMLİLİK KAVRAMI
Çok biçimlilik prensibi, Java’da bir sistemin kendisine gelecek nesnelerden beklediği davranışın bir şemsiye altında toplanması ve bu davranış listesine uyum sağlayan sınıfların da bu şemsiye altında toplandığının açık olarak belirtilmesi ile sağlanır. Java doğrudan basit çok biçimlilik sağlamak için çok basit bir mekanizma sunar: arabirim (interface).
7
ARABİRİMLER İLE ÇOK BİÇİMLİLİK
Bir arabirime ait referans, o arabirim uygulayan tüm sınıfların nesnelerine bağlanıp, o nesneler üzerinden arabirimde tanımlı olan kısımlara erişime izin verir. Bir arabirim referansı, bağlandığı somut nesnenin aslında hangi sınıftan olduğunu bilmek zorunda değildir. Bu nedenle, arabirim referansı ile bakılan sınıf nesnesinin sadece arabirimde tanımlı yöntemleri ve verilerine erişilebilir.
8
ÖRNEK-1
9
ÖRNEK-1
10
ÖRNEK-1
11
ÖRNEK-1
12
ÖRNEK-1
13
ARABİRİMLER İLE ÇOK BİÇİMLİLİK
Çok biçimlilik sayesinde büyük boyutlu sistemleri genişletmek kolaylaşır ve yazılım bakım (software maintenance) masrafları düşer. Bir arabirim referansı, herhangi bir nesneye bağlı değilse, arabirimi uygulayan sınıflar için instanceof işleci her zaman false dönecektir.
14
ÖRNEK-2
15
ARABİRİMLER İLE ÇOK BİÇİMLİLİK
Arabirim referansları ile bu sınırlamalar dahilinde her şeyi yapabilirsiniz. Tipik olarak, bir arabirim referansı dizisi yaratıp dizideki her elemanı farklı bir somut sınıfın nesnesine bağlayabilirsiniz.
16
BİRDEN FAZLA ARABİRİMİ UYGULAYAN SINIFLAR
Bir sınıf değişik kapsamlarda değişik roller üstlenmek zorunda kalabilir. Bu durumda karışıklığı engellemenin en kolay yolu, her kapsamda ayrı bir arabirim eklemek ve sınıfın birden fazla arabirimi desteklemesi olacaktır.
17
ÖRNEK-3 Önceki örneklerde kullandığımız Ogrenci arabirimine ek olarak Personel arabirimi oluşturup, her iki arabirimi de destekleyen yani uygulayan Asistan sınıfını yazınız.
18
ÖRNEK-3
19
ÖRNEK-3
20
ÖRNEK-3
21
ÖRNEK-3
22
ÖRNEK-3
23
BİRDEN FAZLA ARABİRİMİ UYGULAYAN SINIFLAR
Birden fazla arabirimi uygulayan bir sınıfın nesnesine, belli bir arabirimden bir referans ile erişilince, sadece referansın ait olduğu arabirimin tanımlandığı dış görünüşe sahiptir. Bu nedenle elimizdeki referansla o belli arabirimde tanımlanmayan, ancak diğer arabirimlerde tanımlanan yöntemlere ve verilere erişemeyiz.
24
BİRDEN FAZLA ARABİRİMİ UYGULAYAN SINIFLAR
Arabirimler, Java’da pratikte çok kullanılan bir tekniktir. Özellikle grafik kullanıcı arabirimi öğeleri ve çok sayıda olay işleyici (event handler) için olan standart Java kitaplık sınıfları arabirimlere dayanarak hazırlanmıştır. Java’da bu bileşenler ile uygulama geliştirdiğiniz zaman önceden hazırlanmış standart arabirimleri uygulayan sınıflar yazarsınız.
25
KayNAKlar Bora Güngören, Java ile Temel Programlama, Seçkin Yayıncılık, 2003 Kendinize Güvenerek Java, Musa Çavuş, Seçkin Yayıncılık, 2011
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.