Paket Erişimleri

advertisement
Paket Erişimleri
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
1
Erişim
• Erişim konusunda iki taraf vardır:
– Kütüphaneyi kullanan kişiler (client)
– Kütüphaneyi yazan kişiler
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
2
Paket (package)
• Paketler kütüphaneyi oluşturan
elemanlardır.
• PaketKullanim.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
3
Varsayılan Paket (Default Package)
• Test1.java
• Test3.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
4
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
5
Paket Oluşturma
• Alan Adı Sistemi (Domain Name
System)
• tr/edu/kou/util/Test1.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
6
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
7
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
8
CLASSPATH Ayarları
C:\kodlar\bolum4\tr\edu\kou\math\
import tr.edu.kou.math.*;
CLASSPATH="C:\kodlar\bolum4\;."
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
9
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
10
Örnek
• tr/edu/kou/math/DortIslem.java
• Aşağıdaki örnek işletim sisteminin herhangi
bir yerine yerleştirilebilir.
• Hesaplama.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
11
Önemli nokta
• Varsayılan paketlerin birbirini görmesi için:
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
12
Çakışma
• tr/edu/kou/util/ArrayList.java
• Cakisma.java
• Çakışmayı önlemek için
• Cakisma2.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
13
Paket içerisindeki uygulamaları çalıştırmak
• tr/edu/kou/math/Hesaplama.java
• Çalıştırma İşlemleri
– java Hesaplama
– java tr.edu.kou.math.Hesaplama
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
14
JAR Dosyaları (The JavaTM Archive File)
•
•
•
•
Güvenlik
Sıkıştırma
İndirme (download) zamanını azaltması
Paket mühürleme(versiyon 1.2)
– Versiyon uyumluluğu açısından
• Paket versiyonlanma (versiyon1.2)
– Versiyon bilgilerinin gösterimi
• Taşınabilirlik
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
15
Açıklama
Komut
JAR dosyası oluşturmak için
jar -cf jar-dosya-ismi içeriyeatılacak-dosya(lar)
jar -tf jar-dosya-ismi
JAR dosyasının içeriğini bakmak için
JAR dosyasının içeliğini toptan dışarı
çıkartmak için
jar -xf jar-dosya-ismi
Belli bir dosyayı JAR dosyasından
dışarı çıkartmak için
jar -xf jar-dosya-ismi
arşivlenmiş dosya(lar)
JAR olarak paketlenmiş uygulayı
çalıştırmak için
jre -cp jar-dosya-ismi
MainClass
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
16
jar -cf kou.jar tr/
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
17
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
18
CLASSPATH AYARLARI
CLASSPATH="C:\kodlar\bolum4\;."
Yukarıdaki ifade yerine artık aşağıdaki ifadeyi kullanabiliriz.
CLASSPATH="C:\muzik\kou.jar;."
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
19
Erişim Belirleyiciler
•
•
•
•
friendly
public
protected
private
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
20
Erişim Belirleyiciler
• Erişim belirleyiciler tüm global alanlar
ve yordamlar için kullanılabilir.
• Global Alanlar
– Statik veya değil
• Yordamlar (methods)
– Statik veya değil
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
21
Friendly
• Aynı paket içerisinde erişilebilmeyi sağlar.
– Sınıflar
– Global alanlar
– Yordamlar (methods)
friendly erişim belirleyicisine sahip olabilirler.
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
22
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
23
Örnek
• tr/edu/kou/gerekli/Robot.java
• tr/edu/kou/gerekli/Profesor.java
• Başka bir paket
• tr/edu/kou/util/Asistan.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
24
Varsayılan Paketlerde (Default Package ) Erişim
class AltKomsu {
public static void main(String[] args) {
UstKomsu uk = new UstKomsu();
uk.merhaba();
}
}
class UstKomsu {
void merhaba() {
System.out.println("Merhaba");
}
}
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
25
public
• Heryerden erişilebilmeyi sağlar.
– Sınıflar
– Global alanlar
– Yordamlar (methods)
public erişim belirleyicisine sahip olabilirler
• tr/edu/kou/util/Makine.java
• Makine sınıfını kullanan UstaBasi.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
26
private (Özel)
• private erişim belirleyicisine sahip olan
– Global değişkenler
– Yordamlar (methods)
dışarıdan erişilemezler.
• Sınıflar private olamazlar...
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
27
private -2
• Aynı paket içersindeki iki sınıf
• tr/edu/kou/gerekli/Kahve.java
• tr/edu/kou/gerekli/Musteri.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
28
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
29
protected
• protected erişim belirleyicisine sahip olan
– Global alanlar
– Yordamlar (methods)
• Erişim ancak bu sınıftan türeyen sınıflar ve
aynı paket içerisindeki sınıflar tarafından
erişilebilir.
• Sınıflar protected olamaz.
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
30
Kalıtım (Inheritance)
class Kedi extends Hayvan {
......
....
}
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
31
Örnek
• tr/edu/kou/util/Hayvan.java
• tr/edu/kou/gerekli/Kedi.java
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
32
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
33
Sorular ...
© Altuğ B. Altıntaş 2003
Java ve Yazılım Tasarımı - Bölüm 4
34
Download