Temel Kavramlar BBS-515 Nesneye Yönelik Programlama



Benzer belgeler
İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Sunum İçeriği. Programlamaya Giriş

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

Programlama Dilleri III 1

YZM 2105 Nesneye Yönelik Programlama

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

HSancak Nesne Tabanlı Programlama I Ders Notları

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Java da Program Denetimi ve Operatörler

Programlama Dillerinde Kullanılan Veri Tipleri

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

Nesne Yönelimli Programlama

Dizi ( Array ) ve Dizgi ( String )

PROGRAMLAMAYA GİRİŞ DERS 2

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Nesne Yönelimli Programlama

Görsel Programlama 1

JAVADA DİZİ İŞLEMLERİ

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

// hataları işaret eden referans

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

EMT2226 Nesne Yönelimli Programlamaya Giriş

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

PASCAL PROGRAMLAMA DİLİ YAPISI

/*int sayi1, sayi2,toplam=0;

Operator Aşırı Yükleme (Operator OverLoading)

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

BİLG Dr. Mustafa T. Babagil 1

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

C#(Sharp) Programlama Dili

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Dr. Fatih AY Tel: fatihay@fatihay.net

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Ders 8: Metotlar. barisgokce.com

Java da İstemci Tarafı Uygulamalar

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

BİL-142 Bilgisayar Programlama II

Java String İşlemleri

BİL-141 Bilgisayar Programlama I (Java)

BİL132 Bilgisayar Programlama II

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Lecture 11: Generics

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

HSancak Nesne Tabanlı Programlama I Ders Notları

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 3

Nesne ve Sınıf Kavramları

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Başlangıç Durumuna Getirme ve Temizlik. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 3 1

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

HSancak Nesne Tabanlı Programlama I Ders Notları

C Programlama Dilininin Basit Yapıları

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

C PROGRAMLAMA D İ L İ

public static int Toplam int x, int y

Lambda İfadeleri (Lambda Expressions)

C# Metotlar ve Metot Tanımlama

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Transkript:

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009)

İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi il i -2- BBS-515-DN02 / 2

Nesne ve Sınıf Kavramları

Nesne Nedir? 1 İyi tanımlı bir kapsamı ve kimliği olan, belirli bir durum ve davranışı içeren, soyut veya somut varlıktır. A discrete entity with a well-defined boundary and identity that encapsulates state and behavior Nesne gerçek dünyadaki somut bir varlığı temsil edebilir. Televizyon, motor, vb. Nesne tamamen kavramsal bir varlığı temsil edebilir. Banka hesabı, vb. -4- BBS-515-DN02 / 4

Nesne : Örnek Müşteri Hesabı miktar paraçek ParaYatır miktarsorgula Nesne ( object ) -5- BBS-515-DN02 / 5

Nesne Nedir? 2 Her nesne aşağıdakilere sahiptir: Kişilik ( identity ) Özellik ( attribute ) Durum ( state ) Davranış ( behavior ) Sorumluluk ( responsibility ) -6- BBS-515-DN02 / 6

Özellikler Her nesnenin kendine ait bir dizi özelliği vardır. Özellikler nesneye ait verileri taşır. :Arabam model marka renk :BirMusteri isim musterino bakiye :BirPencere boyut pozisyon renk -7- BBS-515-DN02 / 7

Durum - 1 Nesnenin tüm özellikleri ve bu özelliklerin o anki değerleri, nesnenin durumunu oluşturur. :BirMusteri isim= A.Tarhan musterino=0805123 bki bakiye=1000000 Mevcut durum -8- BBS-515-DN02 / 8

Davranış ş 1 Her nesnenin iş yapabilmeyi sağlayan tanımlı bir davranış şekli vardır. Nasıl davranır, nasıl tepki verir? ( act / react ) Nesnenin operasyonları Görülebilir aktivite Diğer nesneler tarafından kullanılan arayüz ( public interface-operations ) Davranışın gerçekleştirilmesi bilgisayar kodu ile yapılır. Kodlanan nesne yordamları, davranışı gerçekleştirir. Gizli gerçekleştirme ( encapsulated implementation ) ti -9- BBS-515-DN02 / 9

Davranış ş 2 :BirMusteri isim musterino bakiye bakiye_degistir bakiye_sorgula isim_sorgula :BirPencere boyut pozisyon renk aç kapat yerdegistir Yordamlar nesnenin arayüzlerini tanımlar. -10- BBS-515-DN02 / 10

Davranış ş 3 İstek mesaj olarak iletilir. Adım1. BirPencere nesnesi, BirMusteri nin adını öğrenmek için isim_sorgula mesajını gönderiyor. :BirMusteri isim= A A.Tarhan musterino=0805123 bakiye=1000000 bakiye_degistir bakiye_sorgula isim_sorgula sorgula { return(isim)} isim_ sorgula A.Tarhan :BirPencere istektebulun() { birmüşteri.isim_sorgula...} Adım2 : BirMusteri nesnesi isim özelliğinin değerini geri döndürerek cevap veriyor. -11- BBS-515-DN02 / 11

Durum 2 İşlemler sonucunda nesnenin durumu değişir. bakiye_degistir(5000) :BirMusteri isim= A.Tarhan musterino=0805123 bakiye=1000000 bakiye_degistir (yeni){ bakiye=yeni} bakiye_sorgula ii isim_sorgula :BirMusteri isim= A.Tarhan musterino=0805123 bakiye=5000 bakiye_degistir bakiye_sorgula isim_sorgula bakiye_degistir işlemi sonucunda nesnenin durumu değişiyor. -12- BBS-515-DN02 / 12

Nesnenin sorumluluğu tüm sistemin işlevselliğine nasıl katkıda bulunacağını tanımlar. Sorumluluk Nesnenin sistemde oynayacağı y ğ rol Neden böyle bir nesneye gereksinim var? Özellikler ve davranışlar, birlikte nesnenin sorumluluklarını yerine getirmesini sağlar. ğ -13- BBS-515-DN02 / 13

Nesneler arasındaki fiziksel veya kavramsal bağlantı İlişki ( Relationship ) En yaygın ilişki: Bir nesne diğer nesnenin sunduğu servislerden yararlanır. Mesaj iletimi Müşteri/tedarikçi ş ilişkisiş Sistem işlevselliğini ş ğ sağlamak ğ amacıyla, nesneler birbirleriyle ilişkiler aracılığı ile işbirliği yaparlar. Nesne yönelimli programlama modeli -14- BBS-515-DN02 / 14

Mesajla İletişimin Getirileri Bir nesnenin davranışı yordamları aracılığıyla gerçekleştirilir. Mesaj gönderme nesneler arasındaki olası tüm iletişimi destekler. Nesneler aynı uygulama veya aynı makine içinde olmasalar bile, birbirlerine mesaj gönderip yanıt alabilirler. -15- BBS-515-DN02 / 15

Sınıf Kavramı Yapısal ve/veya davranışsal olarak aynı özelliklere sahip nesneler SINIF altında gruplanır. Her nesne bir sınıfın örneğidir ğ ( instance ). Sınıfları tanımlar ve nesneleri sınıf tanımından örnekleriz ( instantiation ). Her nesne ait olduğu sınıfı bilir. Sınıf, nesneler için şablon tanımdır. Özellikler ve yordamlar sınıf için yalnızca bir kez tanımlanır. -16- BBS-515-DN02 / 16

Sınıf : Örnek Sınıf (tasarım/ kodlama zamanı) Sınıf örneği ( instance ) (koşturma zamanı) Sınıf örneği ( instance ) (koşturma zamanı) Musteri isim musterino bakiye bakiye_degistir bakiye_sorgula isim_sorgulasorg :BirMusteri isim= A.Tarhan musterino=0805123 bakiye =1000000 bakiye_degistir bakiye_sorgula isim_sorgulasorg :DigerMusteri isim= B.Yıldız musterino=0247194 Bakiye=5000000 bakiye_degistir bakiye_sorgula isim_sorgulasorg örnekleme ( instantiation ) -17- BBS-515-DN02 / 17

Her sınıfın sıfır veya daha fazla örneği vardır. Sınıf ve Nesne Sınıf statik, nesne dinamiktir. Sınıfın varlığı, semantiği ve ilişkileri program koşturulmadan önce sabit olarak belirlenmiştir. Nesneler program koşturulduğunda sınıf tanımından dinamik olarak yaratılırlar ( construction ). Nesneler sorumluluklarını tamamladıklarında ortadan kaldırılırlar ( destruction ). Nesnenin sınıfı sabittir ve nesne bir kez yaratıldıktan sonra değiştirilemez. -18- BBS-515-DN02 / 18

Sınıf ve Nesne : Örnek Tasarım/kodlama sırasında Class egitmen Class personel Class musteri.. egitmen Ayca musteri Ali Sınıf tanımı; tip ( struct ) struct) tanımı gibi Örnekleme ( instantiation ) Koşturma sırasında egitmen:ayça musteri:ali -19- BBS-515-DN02 / 19

Nesne ve Sınıf ın Java da Gerçekleştirilmesi

Temel Sınıf Tanımı class sinif_adi { degisken_tipi i d1; degisken_tipi d2;... donen_tip yordam_adi ( // parametre listesi parametre_tipi p1, parametre_tipi p2, ) { } donen_tip yordam_adi adi ( // parametre listesi parametre_tipi p1, parametre_tipi p2, ) { } } -21- BBS-515-DN02 / 21

Kutu ve KutuDemo sınıf tanımları Temel Sınıf Tanımı: Örnek - 1-22- BBS-515-DN02 / 22

Sınıf Tipinde Nesne Oluşturmak ş - 1 Sınıf-adı nesne-değişkeni = new Sınıf-adı (); Tip Değişken Bellekte yer açar Oluşturucu ( constructor ) Java da nesneler sınıf tanımından oluşturulur. Nesne ( Object ): Sınıf Örneği ( Class Instance ) -23- BBS-515-DN02 / 23

Sınıf Tipinde Nesne Oluşturmak ş - 2 Örnek: Kutu kutux = new Kutu(); Kutu bir tip olarak belirtildiğinden sınıf tanımıdır. kutux, Kutu sınıfının bir örneğidir. kutux nesnesi, Kutu sınıfına aittir. Sınıf tanımından nesne oluşturulurken l 3 temel işlev gerçekleştirilir. ili Tanımlama ( declaration ) Örnekleme ( instantiation ) İlklendirme ( initialization ) -24- BBS-515-DN02 / 24

Sınıf Tipinde Nesne Oluşturmak ş - 3 Tanımlama: Nesne için değişken tanımlama Kutu kutux; Örnekleme: Sınıf tipinde bir nesne oluşturma kutux = new Kutu (); İlklendirme: Nesnenin özelliklerine değer atama kutux = new Kutu (10, 20, 15); Hepsi birarada: Kutu kutux = new Kutu (10, 20, 15); -25- BBS-515-DN02 / 25

Kullanılmayan Nesnelerin Temizlenmesi JRE çöp toplama ( garbage collection ) özelliğiyle, kullanılmayan nesneler için periyodik olarak belleği boşaltır. Çöp toplama, programdan gelen bellek atama taleplerine göre, bellekte yer olmadığı değerlendirilirse taleple senkronize olarak gerçekleştirilir. System.gc() yordamı çağrılır. Sonlandırma: Bazen nesne yok edilmeden önce bazı işlemler yapması istenebilir. Bu işlemler finalize() yordamı içine yazılır ve nesne bellekten atılmadan hemen önce gerçekleştirilir. ş protected void finalize () { // sonlandırma kodu } -26- BBS-515-DN02 / 26

Örnek Adınızı okuyan ve adınızı Merhaba ile birlikte ekrana yazan program -27- BBS-515-DN02 / 27

Değişken Tanımlama

Değişken ğ ş Tipleri Java da kullanılan tüm değişkenlerin bir veri tipi olmak zorundadır. İki tür veri tipi vardır: Temel ( primitive ) ), Referans ( reference ) Temel tipler, tek bir değeri tutabilir. Tamsayı ( integer ) Kayan noktalı ( floating point ) Karakter ( character ) İkili ( boolean ) vb. Referans tipler, değişken tarafından temsil edilen gerçek değere ğ veya değer kümesine referans eder. Dizi ( array ) Sınıf ( class ) Arayüz ( interface ) vb. -29- BBS-515-DN02 / 29

Temel Veri Tipleri ( Primitive Data Types ) Tip İçerik Varsayılan Değer boolean Doğru ( true ) veya Yanlış ( false ) Yanlış ( false ) Büyüklük 1 bit N.A N.A char Unicode karakter \u0000 16 bit \u0000 \uffff byte İşaretli tamsayı ( signed integer ) 0 8 bit -128 127 short İşaretli tamsayı 0 16 bit -32768 ( signed integer ) 32767 int long İşaretli tamsayı ( signed integer ) İşaretli tamsayı ( signed integer ) Minimum Değer Maksimum Değer 0 32 bit -2147483648 2147483647 0 64 bit -9223372036854775808 9223372036854775807 float IEEE 754 kayan- 0.0 32 bit ± 3.40282347E+38 38 noktalı ( floating-point ) ± 1.40239846E-45 double IEEE 754 kayannoktalı ( floating-point ) 0.0 64 bit ± 1.79769313486231570E+308 ± 4.94065645841246544E-324-30- BBS-515-DN02 / 30

Temel Veri Tipleri için Değerler ğ ( Literals ) boolean: true / false int: 89, -945, 37865 long: 89L, -945L, 5123567876L float: 89.5f, -32.5f double: 89.5, -32.5, 87.6E45 char: 'c', '9', 't' String: Bu bir dizgidir." -31- BBS-515-DN02 / 31

Örnekler class Degiskenler { public static void main (String args[]) { boolean b = true; short kucuk = 1; int orta = 23; long buyuk = 76L; float pi = 3.1415292f; double d = 2.71828; String s = Merhaba Dünya!"; System.out.println( boolean b = + b); System.out.println( short kucuk= + kucuk); System.out.println( int orta= + orta); System.out.println( long buyuk= + buyuk); System.out.println( float pi= + pi); System.out.println( double d= + d); System.out.println( String s= + s); } } Konsol çıktısı: boolean b= true short kucuk= 1 int orta= 23 long buyuk= 76 float pi= 3.1415292 double d= 2.71828 String s= Merhaba Dünya! -32- BBS-515-DN02 / 32

Değişken ğ ş Tanımlama Kuralları -1 Her değişken tanımlama ifadesi bir ya da birden fazla değişkeni tanımlar. Aynı türe sahip olan değişkenler tek bir tanımlama ifadesi ile tanımlanabilirler. Eğer birden fazla değişken tanımlanacaksa, değişkenlerin adları virgül ile ayrılır. Örnek: int kucuk, buyuk, orta; Her değişkenin adı bir tanımlayıcıdır. Tanımlayıcılar; harfleri, rakamları, '_' ya da '$' karakterlerini içeren fakat rakamlar ile başlamayan sözcüklerdir. Java büyük harf küçük harf ayrımına duyarlı olduğundan, ğ aynı harfin büyük harfi küçük harfinden farklıdır. Örnek: int orta, orta; // iki farklı değişken tanımlar -33- BBS-515-DN02 / 33

Değişken ğ ş Tanımlama Kuralları -2 Anahtar sözcük ( keyword ) veya hazır bilgi ( literal ) olmamalıdır. Örnek: true, false, if, then, else, Aynı kapsamda tanımlı bir başka değişkenle aynı olmamalıdır. l Küçük ük harfle başlamalıdır. l Birleşik ik sözcük ise ilk sözcük küçük ük harfle, diğer sözcükler büyük harfle başlar. Örnek: int sayi, asalsayi; -34- BBS-515-DN02 / 34

Kapsam ( Scope ) Bir değişkenin kapsamı, değişkenin ulaşılabilir olduğu kod bloğunu ifade eder. Bir değişken 4 farklı kapsamda tanımlanabilir: Üye değişken ğ ş ( member variable ) Yerel değişken ( local variable ) Yordam parametresi ( method parameter ) Kural dışı durum işleme parametresi ( exception handler parameter ) -35- BBS-515-DN02 / 35

Üye Değişken ğ ş ( Member Variable ) Bir sınıf veya nesnenin üyesidir ve sınıf tanımı içinde yer alır. Örnek: class TamsayiSinifi { int sayi; // metotları tl tanımla } -36- BBS-515-DN02 / 36

Yerel Değişken ğ ş ( Local Variable ) Sınıf yordamları içinde veya yordam içindeki kod bloğunda tanımlanır. Örnek: public class Faktoriyel { long faktoriyel (long sayi) { long sonuc = 1; if ((sayi < 0) (sayi > 20)) sonuc = 0; else for (long i=1; i <= sayi; i++) sonuc = sonuc * i; return (sonuc); } } -37- BBS-515-DN02 / 37

Yordam Parametresi ( Method Parameter ) Yordam veya oluşturuculara ( constructors ) değer geçirmek için kullanılan parametrelerdir. Örnek: public class Faktoriyel { long faktoriyel (long sayi) { } long sonuc = 1; if ((sayi < 0) (sayi > 20)) else return (sonuc); } sonuc = 0; for (long i=1; i <= sayi; i++) sonuc = sonuc * i; -38- BBS-515-DN02 / 38

Kural Dışı Durum İşleme Parametresi ( Exception Handler Parameter ) Yordam parametrelerine benzer; ancak yordam veya oluşturucu yerine, kural dışı durum işleyiciye parametre geçirir. try/catch komut dizisi, belli bir kod bloğunu korur ve oluşmaları halinde tanımlanan tipteki kural dışı ş durumları yakalar. Örnek: try { dosyadanoku ( tmp ); } catch (Exception e) { System.out.println ( Okuma işleminde hata: + e); } -39- BBS-515-DN02 / 39

Ödev-2 1. Kendi adınızı taşıyan bir Java sınıfı oluşturun. 2. (1) adımında oluşturduğunuz sınıfın içinde, bu derste öğrendiğiniz temel veri tiplerini örnekleyen özellikler tanımlayın. 3. (2) adımında tanımladığınız her özellik için, bu özelliğe değer atayan ve değeri ekrana yazdıran birer metot tanımlayın. 4. main() metodu içinden, (3) adımında tanımladığınız ğ metotları çağırarak ğ özellik değerlerinin ekranda yazılmasını sağlayın. Oluşan.java ve.class dosyalarını zipleyerek, dersin eğitmenine e-posta ile gönderin. Teslim için son tarih: 10.Kasım.2009 Salı 24:00 E-posta adresi: atarhan@hacettepe.edu.tr -40- BBS-515-DN02 / 40