paket erişimleri · 2011. 6. 25. · © altuğ b. altıntaş2003 java ve yazılım tasarımı -...
TRANSCRIPT
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1
Paket Erişimleri
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 2
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 3
Paket (package)
• Paketler kütüphaneyi oluşturanelemanlardır.
• PaketKullanim.java
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 4
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 5
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 6
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 7
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 8
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 9
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 10
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 11
Ö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 12
Ö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 13
Ç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 14
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 15
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 16
jre -cp jar-dosya-ismiMainClass
JAR olarak paketlenmiş uygulayıçalıştırmak için
jar -xf jar-dosya-ismiarşivlenmiş dosya(lar)
Belli bir dosyayı JAR dosyasındandışarı çıkartmak için
jar -xf jar-dosya-ismiJAR dosyasının içeliğini toptan dışarı çıkartmak için
jar -tf jar-dosya-ismiJAR dosyasının içeriğini bakmak için
jar -cf jar-dosya-ismi içeriye-atılacak-dosya(lar)
JAR dosyası oluşturmak için
KomutAçıklama
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 17
jar -cf kou.jar tr/
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 18
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 19
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 20
Erişim Belirleyiciler
• friendly• public• protected• private
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 21
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 22
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 23
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 24
Ö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 25
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 26
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 27
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 28
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 29
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 30
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 31
Kalıtım (Inheritance)
class Kedi extends Hayvan {..........
}
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 32
Ö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 33
-
© Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 34
Sorular ...
Paket EriþimleriEriþimPaket (package)Varsayýlan Paket (Default Package)Paket OluþturmaCLASSPATH AyarlarýÖrnekÖnemli noktaÇakýþmaPaket içerisindeki uygulamalarý çalýþtýrmakJAR Dosyalarý (The JavaTM Archive File)jar -cf kou.jar tr/CLASSPATH AYARLARIEriþim BelirleyicilerEriþim BelirleyicilerFriendlyÖrnekVarsayýlan Paketlerde (Default Package ) Eriþimpublicprivate (Özel)private -2protectedKalýtým (Inheritance)Örnek