Java Eğitimi - Bolum 5

download Java Eğitimi - Bolum 5

If you can't read please download the document

Transcript of Java Eğitimi - Bolum 5

Snflarn Tekrardan Kullanlmas

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

1

ki Yntem

Komposizyon (Composition) Kaltm (Inheritance)

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

2

Komposizyon(Composition)

class Meyva { //... }class Elma { private Meyva m = new Meyva(); //... }

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

3

Komposizyon - UML

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

4

rnek

Motor.java AileArabasi.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

5

ekil

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

6

Ku Bak

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

7

rnek

Voltran.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

8

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

9

Kaltm (Inheritance)

class Kedi { //.. } class Kaplan extends Kedi { //.. }

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

10

Kaltm - UML

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

11

rnek

KediKaplan.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

12

Gizli Kaltm

YeniBirSinif.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

13

Gizli Nokta

public class YeniBirSinif extends Object {

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

14

Nesne yordamlar (methods) clone() : Bu nesnenin aynsn klonlar. equals(Object obj) : obj nesnesi , bu nesneye eit mi kontrol yapar. finalize() : lgili nesne bellekten silinmeden hemen nce arlan yordam. getClass() : Bu nesnenin alma annda snf bilgilerini geri dner . hashCode() : Bu nesnenin hash kodunu geri dner . notify() : Bu nesnenin bekleme havuzunda olan tek i paracn (thread) uyandrr. (ilerleyen blmlerde inceleyeceiz) notifyAll() : Bu nesnenin bekleme havuzundaki tm i paracklarn uyandrr. (ilerleyen blmlerde inceliyeceiz) toString() : Bu nesnenin String tipinden ifadesini geri dner . wait() : O andaki i paracnn (thread) beklemesini salar; bu bekleme notify() veya notifyAll() yordamlar sayesinde sona erer. wait (long timeout) : O andaki i paracnn belirtilen sre kadar beklemesini salar; bu bekleme notify()veya notifyAll() yordamlar sayesinde de sona erebilir. wait (long timeout , int nanos) : O andaki i paracnn belirtilen gerek sre kadar beklemesini salar ; bu bekleme notify() veya notifyAll() yordamlar sayesinde de sona erebilir.Java ve Yazlm Tasarm - Blm 5 15

Altu B. Altnta 2003

Kaltm-UML

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

16

Kaltm ve ilk deer alma sras

IlkDegerVermeSirasi.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

17

Kaltm-UML

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

18

Paremetre alan yaplandrclar ve kaltm

IlkDegerVermeSirasiParametreli.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

19

IlkDegerVermeSirasiParametreli.java-hatalclass Insan { public Insan(int par) { System.out.println("Insan Yapilandiricisi " + par); } } class ZekiInsan extends Insan { public ZekiInsan(int par) { System.out.println("ZekiInsan Yapilandiricisi " + par); super(par+1); // ! hatal ! } } class Hacker extends ZekiInsan{ public Hacker(int par) { System.out.println("Hacker Yapilandiricisi " + par); super(par+1); // ! hatal ! } public static void main(String args[]) { Hacker hck = new Hacker(5); } } Altu B. Altnta 2003 Java ve Yazlm Tasarm - Blm 5 20

Kompozisyon mu ? Kaltm m ?

Hangi yntemi ne zaman tercih etmeliyiz ? Kompozisyon(Composition) Kaltm (Inheritance)

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

21

Komposizyon

Araba.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

22

Kaltm

Snflar arasnda bir ilikisi olmaldr. UanYarasa bir Yarasadr. Yarasa bir Hayvandr . O zaman UanYarasa da bir Hayvandr. Hayvan da bir Nesnedir.

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

23

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

24

ptal etmek (Overriding)

Tremi snflarn, ana snflar ierisindeki yordamlar (methods) iptal edilebilir. KitapEvi.java (dz) KitapEvi2.java (iptal eden)

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

25

Eriim Belirleyiciler ve ptal etme (Override)

public protected friendly private Telefonlar.java (Yanl) Hesap.java (Doru)

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

26

ptal etmek(Overriding) ve ada yordamlarn(Overload) birbirlerine kartrlmas

Bu iki kavram birbirlerine kolaylkla kartrlabilir. CalisanMudur.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

27

Yukar evirim (Upcasting)

Spor.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

28

Yukar evirim (Upcasting)-UML

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

29

Final Kavram

Final kelimesinin szlk anlam "son" demektir . Java programlama dilinde final anahtar kelimesi deitirilemezlii simgeler.

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

30

Global Alanlar ve Final Kavram

Derleme annda deerlerini bilebildiimiz final global alanlar. alma annda deerlerini bilebildiimiz final global alanlar.

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

31

rnek

FinalOrnek.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

32

Final parametreler

FinalParametre.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

33

Bo (Blank) Final

BosFinal.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

34

Final Yordamlar

final yordamlar tretilmi snflar tarafndan iptal edilemezler (override). FinalMetod.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

35

private ve final

final ve private eriim belirleyicisine sahip olan bir yordam, baka bir yordam tarafndan iptal ediliyormu gibi gzkebilir. SivilPolis.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

36

Final Snflar

final snflardan tretilme yaplamaz! Tv.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

37

Kaltm (Inheritance ) ve ilk deer alma sras

Bocekcik.java

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

38

Sorular ...

Altu B. Altnta 2003

Java ve Yazlm Tasarm - Blm 5

39