P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.

Slides:



Advertisements
Benzer bir sunumlar
Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
Advertisements

SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Değişken , Veri Türleri ve Operatörler
Değişkenler ve bellek Değişkenler
P 6. Ünite stack veri tipini anlatmaktadır. p Bu ünitede stack laerin örnek uygulamalarından bahsedilmektedir. p Bu sunumda N-Queens problemini çözmek.
JavaScript Birinci Hafta.
Yığın ve Kuyruk.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Dayalı Programlama
Bölüm 4 – Kontrol İfadeleri:1.kısım
EDUTIME Java Day 4 Serdar TÜRKEL.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
C++ STACK SINIFI.
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR, NESNE DİZİLERİ Yılmaz Kılıçaslan.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
NESNEYE YÖNELİK PROGRAMLAMA
DİZİLER.
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
METODLAR.
C# Metot Overloading (Aşırı yükleme)
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Chapter 7: Using Methods. Metotları ve Kodlamayı Gizlemeyi Anlama Metot – Kapsüllenmiş ifadeler serisini gerçekleştiren bir görev – Kullanılan metodun.
Nesneye Yönelik Programlama
Görsel C# Programlama Güz 2009 (6. Hafta).
Java Sınıf ve Nesne Kavramı UML Gösterimi
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
METOTLAR.
Chapter 6: Using Arrays.
P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir.
ÇOK BİÇİMLİLİK POLYMORPHISM
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyonlar –Programı modüler hale getirir –Yerel değişkenler,
Önceki Dersi Hatırlama !!
Kalıtım.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
JAVA’DA DÖNGÜLER.
Numaralandırmalar(Enumaration)
Chapter 11: Exception Handling
Kalıtım , Sınıf Asli Ergün.
Demet AYDIN METODLAR Demet AYDIN
JAVA’DA DİZİLER Dr.Galip AYDIN.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Ders İçeriği Liste Soyut veri yapısı (ADT)
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
P Önemli bir konu: önşartlar and hedefşartlar. p Bir metodun neyi netice vereceğinin belirlenmesinin yöntemleridirler. Önşartlar ve Hedefşartlar Java Kullanarak.
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
String class String karakterler dizisidir
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
BTP206– Görsel Programlama II
BİLGİSAYAR programlama II
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
C Programlama Dili Bilgisayar Mühendisliği.
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Bilgisayar Bilimi Fonksiyonlar-2.
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

p Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir sınıf olarak uygulanabilir. Koleksiyon Sınıfları Java Kullanarak Veri Yapıları Ve Diğer Nesneler

Torbalar p İlk örnek için bir torba düşünelim

Torbalar p İlk örnek için bir torba düşünelim p Torbanın içinde bazı numaralar var.

Bir Torbanın Başlangıç Durumu p Torbayı ilk kullanmaya başladığında torba boş olacak. p Bunun kullandığımız herhangi bir torba için başlangıç durumu olacağına güveniyoruz. BU TORBA BOŞ.

Bir Torbaya sayı eklemek p Bir torbaya sayı eklenebilir. TORBANIN İÇİNE 4 SAYISINI KOYUYORUM.

Bir Torbaya sayı ekleme p Bir torbaya sayı eklenebilir. 4 TORBANIN İÇİNDE.

Bir torbaya sayı ekleme p Bir torbaya sayı eklenebilir.. p Torba biçok sayıyı tutabilir. ŞİMDİ TORBAYA BAŞKA BİR SAYI KOYUYORUM -- BİR 8.

Bir torbaya eklenmiş sayılar p Torbaya sayılar eklenmiş olabilir. p Torba biçok sayıyı tutabilir. AYNI ZAMANDA 8 DE TORBANIN İÇİNDE

Bir torbaya eklenmiş sayılar p Torbaya sayılar eklenmiş olabilir. p Torba biçok sayıyı tutabilir. p Hatta aynı sayıyı birden fazla kez yerleştirebiliriz. ŞİMDİ İKİNCİ BİR 4 KOYUYORUM TORBAYA

Bir Torbaya sayı ekleme p Torbaya sayılar eklenmiş olabilir. p Torba biçok sayıyı tutabilir. p Hatta aynı sayıyı birden fazla kez yerleştirebiliriz. ŞİMDİ TORBADA 2 TANE 4 VE BİR TANE 8 VAR.

Bir Torbayı İnceleme p Torbanın içeriği hakkında sorabiliriz. HİÇ 4 ÜN VAR MI? EVET 2 TANE VAR.

Torbadan Bir Sayı Çıkarmak p Bir torbadan bir sayı çıkarabiliriz. BU 4 BURDAN DIŞARI.

Torbadan Bir Sayı Çıkarma p Bir torbadan bir sayı çıkarabiliriz. p Fakat bir seferde yalnızca bir sayı çıkarabiliriz. BİR TANE 4 GİTTİ AMA DİĞERİ HALA DURUYOR.

Kaç Tane Sayı? p Diğer bir işlem de torbada kaç tane sayı olduğunu belirlemek. BENCE TORBADA ÇOK FAZLA SAYI VAR.

Torba İşlemlerinin Özeti ŒBir torba,boş bir torba olduğu başlangıç durumuna getirilebilir. ŒTorbaya sayı eklenebilir. ŽBir torbada bir sayıdan kaç tane olduğunu kpntrol edebilirsiniz. ŽTorbadan sayı çıkarılabilir. Torbada kaç tane sayı olduğunu kontrol edebilirsiniz.

Torba sınıfı p Java sınıfları (2. Ünitede anlatıldığı gibi)Torba gibi bir koleksiyon sınıfını uygulamak için kullanılabilir. p Sınıf tanımının içeriği: public class Torba 4 4 Tanımın başlığı

Torba sınıfı p Java sınıfları (2. Ünitede anlatıldığı gibi)Torba gibi bir koleksiyon sınıfını uygulamak için kullanılabilir. p Sınıf tanımının içeriği: class Torba { public Torba( ) Tanımın başlığı 4 4Bir yapıcı metod

Torba sınıfı p Java sınıfları (2. Ünitede anlatıldığı gibi)Torba gibi bir koleksiyon sınıfını uygulamak için kullanılabilir. p Sınıf tanımının içeriği: public class Torba { public Torba( )... public void ekle(... public void çıkar(......ve bunun gibi 4 4 Tanımın başlığı 4 4Bir yapıcı metod 4 4Public metodlar

Torba Sınıfı p Java sınıfları (2. Ünitede anlatıldığı gibi)Torba gibi bir koleksiyon sınıfını uygulamak için kullanılabilir. p Sınıf tanımının içeriği: 4 4 Tanımın başlığı 4 4Bir yapıcı metod 4 4 Public metodlar 4 4 Private durum değişkenleri Private durum değişkenlerine daha sonra bakacağız Private durum değişkenlerine daha sonra bakacağız public class Torba { public Torba( )... public void ekle(... public void çıkar(......ve bunun gibi

Torbanın yapıcı metodu p Bir torbayı başlangıç durumuna getirir(boş bir torba). // Hedefşart: Torba başlatıldı // ve şimdi boş. public Torba( ) {... }

Ekle metodu p Torbaya yeni bir sayı ekler public void ekle(int yeniGiriş) {... }

Boyut metodu p Torbada kaç tane sayı olduğunu sayar. // Hedefşart: Döndüğü değer torbadaki sayıların //kaç tane olduğudur. public int size( ) {... }

Kaçtane olduğunu sayan metod p Aynı sayıdan kaç tane olduğunu sayar // Hedefşart: Döndüğü değer torbadaki // hedeften kaç kopya olduğudur. public int countOccurrences(int hedef) {... }

Çıkarma metodu p Bir sayının bir kopyasını çıkarır // Hedefşart: Eğer hedef torbadaysa hedefin bir // kopyası torbadan çıkarılır ve döndürülen değer // TRUE olur, değilse Torba aynen kalır ve // döndürülen değer FALSE olur public boolean çıkar(int hedef) {... }

Torbayı Bir Programda kullanma p İşte yeni Torba sınıfını kullanan bir programdan alınan kod: Torba yaslar = new Torba( ); // üç çocuğun yaşlarını kaydet: yaslar.ekle(4); yaslar.ekle(8); yaslar.ekle(4);

Torba Sınıfı içinDökümantasyon p Dökümantasyon torba metodları için tarifname verir. p Tarifnameler önşart/hedefşart sözleşmeleri olarak yazılmıştır. p Torba sınıfını kullanmak için gereken herşey bu dökümantasyonda vardır. Torba’nın dökümantasyonu Appendix H da tanımlanan Javadoc aracıyla otomatik olarak oluşturulabilir

Quiz Farzedelim ki Gizemli bir Hayırsever size Torba sınıfını sağlıyor,ama sadece dökümantasyonu okuma izniniz var.Sınıf uygulamasını veya.java dosyasını okuyamıyorsunuz. Torba veri tipini kullanan bir program yazabilir misiniz? ¬Evet yazabilirim. ­Hayır. Torba için sınıf uygulamasını görmeden yazamam.

Quiz ¬Evet yazabilirim. Yeni veri tipinin adını biliyorsunuz,aynı zamanda başlıkları da biliyorsunuz ve herbir işlemin tarifnamesini biliyorsunuz. Bu Torbaları oluşturmanız ve kullanmanız için yeterli. Yeni veri tipinin adını biliyorsunuz,aynı zamanda başlıkları da biliyorsunuz ve herbir işlemin tarifnamesini biliyorsunuz. Bu Torbaları oluşturmanız ve kullanmanız için yeterli. Farzedelim ki Gizemli bir Hayırsever size Torba sınıfını sağlıyor,ama sadece dökümantasyonu okuma izniniz var.Sınıf uygulamasını veya.java dosyasını okuyamıyorsunuz. Torba veri tipini kullanan bir program yazabilir misiniz?

Uygulama Detayları p Bir torbanın girişleri bir dizinin ön kısmında tutulacaktır,bu örnekte gösterildiği gibi.. [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]... Bir tamsayı dizisi 484 Dizinin bu kısmında ne olduğuyla ilgilenmiyoruz.

Uygulama Detayları p Girişler herhangi bir sırada görünebilir. Bu bir öncekiyle aynı torbayı temsil eder. Bir tamsayı dizisi 448 Dizinin bu kısmında ne olduğuyla ilgilenmiyoruz. [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]...

Uygulama Detayları p... Ve aynı zamanda bu da aynı çantayı temsil eder. Bir tamsayı dizisi Dizinin bu kısmında ne olduğuyla ilgilenmiyoruz. [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

Uygulama Detayları p Aynı zamanda çantada kaç tane sayı olduğunun da kaydını tutmamız lazım. Bir tamsayı dizisi 844 Dizinin bu kısmında ne olduğuyla ilgilenmiyoruz. ne olduğuyla ilgilenmiyoruz. Çantanın boyutunu tutan bir tamsayı 3 [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]...

Alıştırma Torba sınıfını uygulayabileceğiniz private durum değişkenlerinin bir listesini yazmak için bu fikirleri kullanınız. İki tane durum değişkeniniz olmalı. Tanımı yazmak için 60 saniyeniz var.

Alıştırma public class Torba { private int[ ] data; private int manyItems;... } Bir çözüm:

Ekle yi çağırmaya bir örnek public void ekle(int yeniGiriş) Ekleyi çağırmadan önce, b çantamız olmalı: b çantamız olmalı: 2 [ 0 ] [ 1 ] [2] b.data b.manyItems

Ekleyi Çağırmaya bir örnek void add(int newEntry) b.data b.manyItems b.ekle(17) yi Aktifleştiriyoruz. Metod bittiğinde b.data ve b.manyItems İçinde hangi değerler olacak? [ 0 ] [ 1 ] [2] public void ekle(int yeniGiriş) 2

Ekleyi çağrmaya bir örnek void add(int newEntry) b.add(17) yi aktifleştirdikten sonra, bu b çantamız oldu: 3 [ 0 ] [1] [ 2 ] public void ekle(int yeniGiriş) b.data b.manyItems [ 0 ] [ 1 ] [2]

Ekle için yalancı kod ŒDizide yeni giriş için yer olduğundan emin olunuz.  yeniGiriş’i veri dizisindeki en uygun yere yerleştiriniz. ŽmanyItems durum değişkenine bir ekleyiniz. V Veri dizisinde “en uygun yer” neresidir?

Ekle için yalancı kod data[manyItems] = yeniGiris; manyItems++; ŒDizide yeni giriş için yer olduğundan emin olunuz.  yeniGiriş’i veri dizisindeki en uygun yere yerleştiriniz. ŽmanyItems durum değişkenine bir ekleyiniz.

Ekle için yalancı kod data[ manyItems++] = newEntry; ŒDizide yeni giriş için yer olduğundan emin olunuz.  yeniGiriş’i veri dizisindeki en uygun yere yerleştiriniz. ŽmanyItems durum değişkenine bir ekleyiniz.

Diğer Torba İşlemleri p Diğer torba metodlarının uygulaması için Bölüm 3.2’yi okuyunuz. p Hatırlayınız: Eğer sadece Torba sınıfını kullanıyorsanız, işlemlerin nasıl uygulandığını bilmenize gerek yok. p Daha sonra daha iyi çalışan algoritmalar kullanarak torbayı yeniden uygulayacağız. p Torbaları işlemek için de birkaç işlemimiz var.

Diğer Çanta Çeşitleri p Bu örnekte tamsayılar içeren bir torbanın uygulamasını yaptık. p Fakat ondalık sayı torbası,karakter torbası, ya da String torbamız da olabilirdi... Farzedelim ki bu diğer torbalardan birini istediniz. Uygulamanın ne kadarını değiştirmeniz gerekir?

p Koleksiyon sınıfı, bir grup öğeyi tutabilen bir sınıftır. p Koleksiyon sınıfları bir Java sınıfıyla birlikte uygulanabilir. p Sınıfın yazarı, sınıfı kullanmak isteyen başka bir programcının okuması için dökümantasyon sağlamalıdır. p Okumanız gereken diğer detaylar Bölüm 3.2 de anlatılmıştır. Özet

SON Presentation copyright 1999, Addison Wesley Longman For use with Data Structures and Other Objects Using Java by Michael Main. Some artwork in the presentation is used with permission from Presentation Task Force (copyright New Vision Technologies Inc.) and Corel Gallery Clipart Catalog (copyright Corel Corporation, 3G Graphics Inc., Archive Arts, Cartesia Software, Image Club Graphics Inc., One Mile Up Inc., TechPool Studios, Totem Graphics Inc.). Students and instructors who use Data Structures and Other Objects Using Java are welcome to use this presentation however they see fit, so long as this copyright notice remains intact.