Professional Documents
Culture Documents
Bu Dnem Hakknda
Servlet
Corba
RMI
Temel Ksm
EJB
alma Evreleri
alma Evreleri
lk Java uygulamas
Nasa.java
II
21
Herey Nesne
Javada hereye nesne olarak davranrz. Herseyin nesne olmasna ramen nesneleri ynetmek iin referanslar kullanlr .
18
II NesnelerdeAtama.java
CopNesne.java
MutluAdam.java
http://download.oracle.com/javase/6/docs/api/
TarihHesaplama.java
Tanabilirlik
Aklama
JAR dosyas oluturmak iin JAR dosyasnn ieriini bakmak iin JAR dosyasnn ieliini toptan dar kartmak iin
Komut
jar -cf jar-dosya-ismi ieriye-atlacak-dosya(lar) jar -tf jar-dosya-ismi jar -xf jar-dosya-ismi
CLASSPATH AYARLARI
CLASSPATH="C:\kodlar\bolum4\;."
Yukardaki ifade yerine artk aadaki ifadeyi kullanabiliriz.
CLASSPATH="C:\muzik\kou.jar;."
Voltran.java
PolimorfizmOrnekBir
Arayz (Interface)
Arayzler, soyut snflarn bir st modeli gibi dnlebilir. Arayzler tamamen birletirici bir rol oynamalar iin tasarlanmlardr.
Arayz (Interface)
Arayzlerin ierisindeki gvdesiz (soyut) yordamlar (methods) otomatik olarak public eriim belirleyicisine sahip olurlar.
BuyukIsYeri.java
class Mudur implements Calisan { public void calis() { // iptal etti (override) System.out.println("Mudur Calisiyor"); } }
Arayz(Interface) ve Soyut snflar(Abstract classes) interface Hayvan { public void avlan() ; } abstract class Kedi implements Hayvan { }
Bu rnek derlenir mi ?
Arayz (Interface)
Arayzler, soyut snflarn bir st modeli gibi dnlebilir. Arayzler tamamen birletirici bir rol oynamalar iin tasarlanmlardr.
Arayz (Interface)
Arayzlerin ierisindeki gvdesiz (soyut) yordamlar (methods) otomatik olarak public eriim belirleyicisine sahip olurlar.
Karisim2.java
10
11
Spor.java
Sebep
13
14
rnek
SportmenMehmet belki hem BuzPatenci hem de Basketbolcu olamayabilir ama bunlara ait zellikleri alabilir.
15
Spor2.java
Bir arayz baka bir arayznden tretilebilir. Bylece arayzler kaltm yoluyla geniletilmi olur.
16
17
Yakndan baklrs
18
Jaguar.java
akmalar
Arayzlerin ierisinde dn tipleri haricinde hereyleri ayn olan gvdesiz (soyut) yordamlar varsa bu durum beklenmedik sorunlara yol aabilir.
Cakisma.java (derlemeye allrsa...)
20
Cakisma.java (derlemeye
allrsa...)
7
public void hesapla(); // A1 arayzne ait public int hesapla(); // A3 arayzne ait
21
Arayzlerin ierisinde gvdesiz (soyut) yordamlarn dnda alanlar da bulunabilir. Bu alanlar, dier uygulamalarda sabit olarak kullanlabilir. Arayzn ierisinde tanmlanan bir alan (ilkel tipte veya snf tipinde olsun) otomatik olarak hem public eriim belirleyicisine hem de final ve static zelliine sahip olur.
22
rnek
AyBul.java
23
AyBul.java
7
Genel Bak
25
Genel Bak
26
GenelBakis.java
Yakndan bakarsak
//...... }
27
28
Soyut1 soyut_1 = new A(); Arayuz1 arayuz_1 = (Arayuz1) soyut_1; // tip degisimi Arayuz2 arayuz_2 = (Arayuz2) soyut_1; // tip degisimi
29
Veya
Soyut1 soyut_1 = new A(); Arayuz1 arayuz_1 = new A(); Arayuz2 arayuz_2 = new A();
30
Balam Kesmek (decoupling) paralara ayrlan ksmlarn birbirleriyle nasl bir iliki ierisinde olmalar gerektii ile alakal bir konudur.
31
Kullanm diyagram (Uses Diagram) Paralara ayrlan ksmlar arasndaki ball ifade eden bir gsterim seklidir. A paras B parasna ait bir ksm kullanyorsa o zaman A paras B parasna bamldr diyebiliriz.
32
Arayzlerin en nemli amac balam kesmektir (decoupling) - VI. Bamllk ve Belirtimler (Dependences and Specifications) A parasnn B parasna olan bamlln kesmek iin araya belirtim konabilir. Belirtimler (Java programlama dilindeki arayzler-interface) tek balarna altrlamazlar. Bylece A paras (S) belirtimine baml olur, B parasda belirtimin (S) gerektirdiklerini yerine getirir.
36
Arayzlerin en nemli amac balam kesmektir (decoupling) - VII. Balam kesme (decoupling) teknikleri Java ktphaneleri ierisinde de kendisini okca gsterir. java.util paketinin altndaki List arayz bunun en gzel rneklerindendir.
37
Dahili ye snflar Yerel snflar (Local classes) simsiz snflar (Anonymous classes)
43
Dahili ye Snflar
44
Hesaplama.java
Dahili ye snflar, ayn normal snflar gibi baka snflardan tretilebilirler. Bylece oklu kaltm desteinin bir benzerini (gvenli), Java programlama dilinde de bulabiliriz.
47
48
YarisArabasi.java
Yerel snflar
Yaplandrclarn (constructor) Snf yordamlarnn (statik yordam) Nesne yordamlarnn Statik alanlara toplu deer vermek iin kullandmz statik bloun Statik olmayan alanlara toplu deer vermek iin kullandmz bloun ierisinde tanmlanabilir.
50
Yerel Snflar
public class Sinif { public void yordam() { public class YerelSinif { //... } } }
51
57
VI Supermarket.java
VI HashMapTestBir.java
Doru
Daha Doru
Sorular ...
58