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 JAR dosyası oluşturmak için JAR dosyasının içeriğini bakmak için Komut jar -cf jar-dosya-ismi içeriyeatılacak-dosya(lar) jar -tf jar-dosya-ismi 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