NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
 1 – 5 Yaş Grubu  6 Yaş Anaokulu  7 – 16 Yaş İlk öğretim  Lise Eğitimi İSVEÇ EĞİTİM SİSTEMİ.
Advertisements

Serbest muhasebeci mali müşavir sigortası. Serbest muhasebeci mali müşavir sorumluluk sigortası Bu sigorta ile Sigortacı, Sigortalının vermekte olduğu.
YEDEKLEME NEDIR? Gülşen Güler. YEDEKLEME NEDIR? Yedekleme, en genel anlamıyla, bir bilgisayar sistemini işlevsel kılan temel birimlerin, üzerinde çalışan.
Bilimsel Araştırma Yöntemleri ve İstatistik Doç.Dr. Ertuğrul GELEN.
Performans ve Ücret Yönetimi Yrd. Doç. Dr. Özlem BALABAN
Hopfield Ağı Ayrık zamanSürekli zaman Denge noktasının kararlılığı Lyapunov Anlamında kararlılık Lineer olmayan sistemin kararlılığı Tam Kararlılık Dinamik.
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
YÖNLENDİRME. Yönlendirme ● Statik ● Dinamik ● Kaynakta yönlendirme ● Hop by hop yönlendirme.
ÖĞRETİM TEKNOLOJİLERİ VE MATERYAL TASARIMI
Sosyal Hizmet Meslek Etiği
Sıklık Dağılımları Yrd. Doç. Dr. Emine Cabı.
DERS2 Prof.Dr. Serpil CULA
Deneme Modelleri Neden-sonuç ilişkilerinin sorgulandığı araştırma türleridir. Deneme ve tarama modelleri arasındaki fark nedir? Deneme modellerinde amaçlar.
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
Ağ Nedir IP Adresi DNS Sunucu
GELECEK PİYASASI İŞLEMLERİ
Swİtch çeşİtlerİ – GÖKÇE TENEKECİ.
Nesneye Dayalı Kavramlar Uygulama 2
KÜMELER HAZIRLAYAN : SELİM ACAR
Bilgisayarlara komut verme Remzi ÖZ
MBT-303 özel öğretim yöntemleri-ı
ÖDE5024 DAVRANIŞ BİLİMLERİNDE İSTATİSTİK Yüksek Lisans
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İŞLETMEDE ARAŞTIRMA VE GELİŞTİRME (AR-GE) İŞLEVİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
ÖDE5024 DAVRANIŞ BİLİMLERİNDE İSTATİSTİK Yüksek Lisans
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
DİL GELİŞİMİ KURAMLARI - II
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Programlama Yapısı.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
ARAŞTIRMANIN YAZILMASI II: BİÇİMSEL KOŞULLAR
PROBLEM ÇÖZME TEKNİKLERİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
2. HAFTA Bilimsel Araştırma Temel Kavramlar.
NİŞANTAŞI ÜNİVERSİTESİ
İş ve Meslek Sosyolojisi
GEÇİŞ GEÇİŞ SÜRECİ Özel Gereksinimli ve / veya Engeli
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ NESNEye yönelİk PROGRAMLAMA STATIC VERİLER VE YÖNTEMLER, FINALIZE YÖNTEMİ NİŞANTAŞI ÜNİVERSİTESİ © İktisadi, İdari ve Sosyal Bilimler Fakültesi iisbf.nisantasi.edu.tr

STATIC VERİLER VE YÖNTEMLER Şu ana kadar yazdığımız bütün programlarda bir değişkenin ömrü tanımlandığı yerde başlayıp, kapsamdan çıktığı zaman sona erdi. Küme parantezleri koyarak yada bir yöntem içerisinde tanımladığımız değişkenler gibi bir nesnenin içindeki değişkenler de nesne yok edildiğinde yok oluyorlar. Nesne kapsamdan çıkınca da haliyle bu değişkenlere erişemiyoruz

STATIC VERİLER VE YÖNTEMLER Ancak bazen bir sınıftaki nesneler ile ilgili bazı bilgilerin her zaman erişilebilir olması gerekir. Ya da kritik bir değişkenin asla kapsamdan çıkmamasını istersiniz. Örneğin bir ağ sunucusunda (örneğin bir e-mule sunucusu) bağlanabilecek kullanıcı sayısı sınırlanmalıdır. Burada da artıp azalacak merkezi bir değişkene ihtiyaç duyuyoruz. Yani bir sayaç uygulaması yapıyoruz.

STATIC VERİLER VE YÖNTEMLER C/C++ geleneği bu merkezi değişken gereksinimini durağan (static) değişkenler ile çözer. Durağan bir değişkenin ömrü uygulama ile tanımlıdır. Uygulama başlatılır başlatılmaz durağan değişken de yaratılır ve uygulama sona ererken de yok edilir. Java'da bu sistemi hemen hemen aynı biçimde korumuştur. Ancak Java söz konusu olunca bütün durağan değişkenler bir sınıfa ait olmak zorundadır. Bu da normal bir ön koşul çünkü Java'da zaten bütün değişkenler bir sınıf içinde tanımlı oluyorlar.

STATIC VERİLER VE YÖNTEMLER Java’da bir sınıfa ait durağan (static) bir değişken, sınıfa aittir. Bu nedenle sadece bir kopyası vardır ve o sınıfa ait bütün nesneler tarafından paylaşılır. Ayrıca bu değişkene erişmek için sınıftan bir nesneye gerek yoktur. Sınıfın adı ile de erişebiliriz. Durağan değişkenler için kullanılan teknik detaylar, C/C++ 'da bazı özel durumlar yarattığı için durağan işlevler ve yöntemlere gerek duyulmuştur. Java da C+ +'daki gibi durağan yöntemleri destekler. Durağan bir yöntem de tıpkı durağan bir değişken gibidir. Aynı kurallara tabidir.

STATIC VERİLER VE YÖNTEMLER Java'da bir sınıfa ait durağan yöntemler (static method) tıpkı durağan değişkenler gibi sınıfa aittir ve nesneler tarafından paylaşılır. Dahası durağan bir yöntemi çağırmak için herhangi bir nesneye gerek duymayız. Bir durağan değişken, o sınıftan hiçbir nesne yaratılmasa bile var olacaktır. Aynı şekilde bir durağan yöntem de hiçbir nesne yaratılmasa bile sınıfın adı ile çağrılabilir.

ÖRNEK-4

ÖRNEK-4

ÖRNEK-5

ÖRNEK-5

FINALIZE YÖNTEMİ Java’da nesnelerin yok edilmesi için ön koşul , hiçbir kapsamda nesneye bağlı bir referans bulunmamasıdır. Referanslar bir nesneye bağlı olabilir ya da boşta bulunabilir. Bir nesneye birden fazla referans da bağlı olabilir. Ancak bir referans en fazla bir nesneye bağlı olur.

FINALIZE YÖNTEMİ

FINALIZE YÖNTEMİ

FINALIZE YÖNTEMİ

FINALIZE YÖNTEMİ

FINALIZE YÖNTEMİ Referanslar tıpkı temel tip değişkenleri gibi kapsam dışına çıkınca yok edilirler. Bu durumda bağlı oldukları nesneye olan bağlantı da yok olur. Ancak, bir nesneye birden fazla kapsamda değişik referanslar bağlı olabilir. Bu nedenle Java sistemi bir referans kapsamdan çıktığında bağlı olduğu nesneyi yok etmez.

FINALIZE YÖNTEMİ Java'da periyodik olarak çöplük toplayıcı çalışır ve o anda referansı olmayan nesneleri temizler. Ancak çöplük toplayıcının ne zaman çalışacağı bizden bağımsızdır. Java'da çöplük toplayıcının (garbage collector — gc) çalışması için Java çalışma sisteminde yetersiz bellek olması gereklidir. Yeterince boş belleği olan bir Java Sanal Makinesi'nde çöplük toplayıcı (gc) çağrılmaz.

FINALIZE YÖNTEMİ Çöplük toplayıcı çok düşük düzeyde bir temizlik yapar. Nesneyi siler atar. Nesnenin sistemden almış olabileceği bellek dışı kaynaklar (açık dosyalar, ağ bağlantıları, veri tabanı bağlantıları, vb. ) umurunda değildir. Bunları kapatmak programcının sorumluluğundadır.

FINALIZE YÖNTEMİ Aslında akıllı bir programcı her kaynağı kullanıp işi biter bitmez kapatır. Ancak bazı kaynaklar doğaları gereği uzun süreler boyunca açık kalmak zorundadır. Bu durumda kapatılması için uygun bir yer nesnenin yok edilmesinden hemen öncesi olabilir. Java'da bir nesnenin ölmeden önce son dileğini belirtebildiği bir yöntem vardır. Yöntemin adı finalize ()'dır. Çöplük toplayıcı bir nesneyi yok etmeden önce bu yöntemi çağıracaktır.

ÖRNEK-6

ÖRNEK-6

KayNAKlar Bora Güngören, Java ile Temel Programlama, Seçkin Yayıncılık, 2003 Kendinize Güvenerek Java, Musa Çavuş, Seçkin Yayıncılık, 2011