Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.



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

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

public static int Toplam int x, int y

BİL-141 Bilgisayar Programlama I (Java)

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

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

Sunum İçeriği. Programlamaya Giriş

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Klavyeden Basit Giriş/Çıkış İşlemleri

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

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.

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

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

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

Ders 8 Konu Özeti ve Problemler

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Programlama Dillerinde Kullanılan Veri Tipleri

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 8: Sınıf (Class) Yapılarına Giriş

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;

Nesne Yönelimli Programlama

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

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

Java, java.util paketi içinde mevcut olan Date sınıfını sağlar, bu sınıf güncel tarih ve zamanı kapsüllemektedir.

JAVA PROGRAMLAMAYA GİRİŞ

YZM 2105 Nesneye Yönelik Programlama

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

BMH-303 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

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

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

BİL-142 Bilgisayar Programlama II

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

Java Programlama Giriş

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

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

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

BMH-303 Nesneye Yönelik Programlama

// hataları işaret eden referans

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Nesne Yönelimli Programlama

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

NESNEYE YÖNELİK PROGRAMLAMA

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

Ders - 7 while döngüsü

BİL-141 Bilgisayar Programlama I (Java)

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

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

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

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

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

Kalıtım (Inheritance)

İç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.

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Erişim konusunda iki taraf vardır:

HSancak Nesne Tabanlı Programlama I Ders Notları

7. HAFTA. Erişim Belirleyiciler

Lambda İfadeleri (Lambda Expressions)

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Nesne Yönelimli Programlama

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

WEB PROGRAMLAMA II. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

YZM 2105 Nesneye Yönelik Programlama

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

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

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

Şablon Türler (Generics)

Arasınav Örnek Soruları Bahar 2018

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

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

Ders 8: Metotlar. barisgokce.com

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

EMT2226 Nesne Yönelimli Programlamaya Giriş

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

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

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

HSancak Nesne Tabanlı Programlama I Ders Notları

Nesne Yönelimli Programlama

Dizi ( Array ) ve Dizgi ( String )

Üst Düzey Programlama

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

Business Delegate Tasarım Şablonu KurumsalJava.com

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

Burak Kıymaz JAVA FX

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma

Transkript:

Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr. Gör. Dr. Çelebi Uluyol Gazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü Programalama

ÜNİTE 1. NESNE YÖNELİMLİ PROGRAMLAMAYA VE YAZILIM GELİŞTİRMEYE GİRİŞ 1.1. Sınıf (class) ve Nesne (object) kavramları Sınıf ve nesne, OOP içindeki en önemli iki kavramdır. Nesne herhangi bir şeydir. OOP mantığında birbirleriyle etkileşim içerisinde olan nesneler yer alır. Örneğin; Öğrenci, oda, kat nesneleri gibi. Her nesnenin içinde de data (veri) tutulur. Örneğin; öğrenci nesnesi için ad, soyad, cinsiyet, doğum günü, adres, gibi veriler tutulur. Sınıf için tanımlanan metot, sınıf metodu ; nesne için tanımlanan metot ise örnek yöntemi diye adlandırılır. Mesajın adı ile metodun adı aynı olmak zorundadır. Mesajda ayrıca bir argüman (argument) bulunur. Örneğin; Robot sınıfından fido isimli nesneye wallk(25) isimli bir mesaj yollayabilirsin. Burdaki argüman değeri 25 tir. Bir programda nesneleri oluşturmak için komutlar yazarız. Nesne oluşturabilmek için sınıf diye adlandırılan yapının olması gerekir. Sınıf, nesnelerin neler yapıp neler yapmayacağını belirleyen bir yapı veya şablondur. Nesne = Sınıfın bir örneğidir (an object = an instance of a class). Yani bir nesne mutlaka bir sınıfa ait olmak zorundadır.örneğin; GEF sınıf adı, BÖTE nesne adı gibi. Öncelikle bir sınıf oluşturulur. Sonra bu sınıfın istediğimiz kadar nesnesini oluşturabiliriz.! Nesneden önce sınıf mutlaka oluşturulmuş olmalıdır. Argüman boş olarak da mesaj yollanabilir. 1.3.Sınıf (class) ve Örnek veri değerleri (instance data values) Bir nesne, veriyi veri değerlerinde tutar. Bu nedenle sınıf ve örnek veri değerleri tanımlamak zorundayız. Veri değerinin iki çeşidi vardır: variable ve constant. Variable: değiştirilebilen veri değeri Constant: değiştirilemeyen veri değeri 1.2.Mesajlar (Messages) ve Metotlar (Methods) Bir görevi yerine getirmek için nesne ya da sınıfa mesaj yollanır. Örneğin; hesap nesnesine 100$ depolaması için depola mesajı yollanır.? Variable 4 x - 7 = 5 Constant Yollanan mesajı anlayabilecek olan sınıf veya nesneye mesaj yollanabilir. Bir sınıf veya nesnenin, aldığı mesajı işleme koyabilmesi için bir metoda sahip olması gerekir. Metot, görevi yerine getirecek olan komutlar bütünüdür.

ÜNİTE 1. NESNE YÖNELİMLİ PROGRAMLAMAYA VE YAZILIM GELİŞTİRMEYE GİRİŞ 1.4. Inheritance (Kalıtım) Bir class ın başka bir class daki property ve method lara sahip olmasına inheritance denir. 1.5. Yazılım mühendisliği ve yazılım yaşam döngüsü Yazılım yaşam döngüsü 5 aşamalıdır: Yukarıdaki örnekte de görüldüğü gibi; convertible sınıfı miras alınarak roadster isimli yeni bir sınıf oluşturulmuştur. Bu sınıf convertible sınıfının tüm özelliklerini taşımaktadır.

ÜNİTE 2. GETTING STARTED WITH JAVA 2.1. İlk Java programı Uygulama - 1 /* ilk java programı */! Student john; john = new Student(); demek ile Student john = new Student(); demek aynı şeydir. import javax.swing.*; class Ch2Sample1 { public static void main(string[] args) { JFrame mywindow; mywindow = new JFrame(); mywindow.setsize(300,200); mywindow.settitle( İlk Java Programı ); mywindow.setvisible(true); Nesne oluşturulduktan sonra da mesaj yollanır. Örnek: mywindow.setvisible(true); Bu kodda mywindow nesnedir. setvisible metot veya yolladığımız mesajın adıdır. True ise mesajla yollanan argüman değeridir. ÖZETLE; 1. Önce nesnenin sınıftan oluşturulduğu bildirilir. 2. Sonra nesne yaratılır. 3. Sonra nesneye mesaj yollanır. Yukarıdaki örnekte; Ch2Sample1, sınıfın adıdır ve bu sınıf bir metodu (main) içerir. Sınıftan nesne oluşturulduğu JFrame mywindow; satırı ile bildirilir. Bildirimin ardından nesne oluşturan kod yazılır. Örneğin; mywindow = new JFrame();! Sınıf isimlerinin ilk harfi büyük, nesne isimlerinin ise ilk harfi küçük olur. OgrenciOzellik -->sınıf oluşturulurken kelimelerin ilk harfler büyük yazılır. ogrenciboy --> nesne oluşturulurken ilk kelimenin ilk harfi küçük ikinci kelimenin ilk harfi büyük yazılır.

ÜNİTE 2. GETTING STARTED WITH JAVA 2.2. Program Bileşenleri Her Java programında 3 kısım bulunur: Comment İmport Sınıf (class) Comment (Yorumlar) /* Bu bir yorumdur */ // Bu da bir yorumdur. İmport Kısmı OOP, önceden tanımlanan sınıflar kullanılarak yazılır. Önceden tanımlanan bu sınıflar, sistemin kendi sınıfları olabileceği gibi, bizim oluşturduğumuz sınıflar da olabilir. Java dilinde sınıflar, paketler (packages) içinde gruplandırılır. Kullanıma örnekler şu şekildedir: dorm.resident; Burada dorm paketin adı, Resident ise sınıfın adıdır. javax.swing.jframe; Burada javax paketin adı, swing javax paketinin içindeki paketin adı, JFrame ise sınıfın adıdır. import javax.swing.*; Yukarıdaki kod satırı, javax.swing paketindeki tüm sınıfları kullanabilirz anlamına gelir. Bunun yerine şöyle bir kullanım da olabilirdi (Böyle kullanılırsa import demeye gerek kalmazdı): Javax.swing.JFrame mywindow; mywindow = new javax.swing.jframe; Sınıf kısmı Bir önceki programda iki sınıf vardı. JFrame ve Ch2Sample1 sınıfları. JFrame sistemde kayıtlı olan bir sınıf, Ch2Sample1 ise bizim oluşturduğumuz bir sınıf. Her Java programında en az bir sınıf bulunmak zorundadır. Program içinde bir sınıf main sınıf olarak tanımlanmak zorundadır. Yukarıdaki uygulamadaki public static void ile başlayan kısım ise metot kısmıdır. Metodun yazım şekli şu şekildedir: <modifiers> <return type> <method name> (<parameters>) { <method body> modifier: farklı türdeki metotlardır. Return type: metot tarafından döndürülen verinin tipi Method name: metodun ismi Parameters: metoda yollanan veriler.! Her java programında en az bir sınıf bulunmak zorundadır. 2.3. Edit Compile Run döngüsü

ÜNİTE 2. GETTING STARTED WITH JAVA 2.4. Java standart sınıfları Bu kısımda Java nın içindeki 4 sınıftan bahsedilecektir. Bu sınıflar şöyledir: JOptionPane, String, Date, SimpleDateFormat NOT: İyi bir OOP programcısı, tanımlı sınıfları nasıl kullanması gerektiğini çok iyi bilmelidir. 2.4.1. Çıktı için JOptionPane Sonucu kullanıcıya göstermek için Java da kullanılacak en kolay yol JOptionPane sınıfını kullanmaktır. Örnek: JOptionPane.showMessageDialog(null, I love Java ); Buarada null yazmak, ekranın ortasında görüneceği anlamına gelir. Java da çerçeve penceresi için JFrame nesnesi, diyalog içinde JDialog nesnesi kullanılır. Uygulama - 2 import javax.swing.*; class MesajDialog{ public static void main(string[] args) { JFrame benimnesnem; benimnesnem = new JFrame(); benimnesnem.setsize(400,300); benimnesnem.setvisible(true); JOptionPane.showMessageDialog(benimNesnem, Nasılsın ); JOptionPane.showMessageDialog(null, Bye Bye ); 2.4.2. String Örnek: String name; name = new String( Çelebi ULUYOL ); String sınıfı için özel bir durum da sözkonudur. Sınıf bildiriminin ardından, oluşturma atlanabilir. Örnek: String name; name = Celebi ULUYOL ; 2.4.3. Date ve SimpleDateFormat Örnek: Date today; today = new Date(); JOptionPane.showMessageDialog(null, today.tostring()); Bu kodlar çıktı olarak şöyle bir çıktı verir: Sat Apr 20 15:05:18 PDT 2002 Eğer tarih ve saatin bu şekilde çıktı vermesi hoşunuza gitmediyse, simpledateformat sınıfı kullanılabilir. Bu sınıf java.text paketinin içinde yer alır. Örnek: Date today; SimpleDateFormat sdf; today = new Date(); sdf = new SimpleDateFormat( MM/dd/yy ); JOptionPane.showMessagedialog(null, format(today)); Bu kodlar da çıktı olarak şöyle bir çıktı verir; 04/20/11

ÜNİTE 2. GETTING STARTED WITH JAVA Uygulama - 3 import javax.swing.*; import java.util.*; // date sınıfının ait olduğu paket import java.text.*; // simple date sınıfının ait olduğu paket class SimdikiZaman { public static void main(string[] args) { Date simdi; SimpleDateFormat simpledf1,simpledf2; simdi = new Date(); simpledf1 = new SimpleDateFormat(); simpledf2 = new SimpleDateFormat( EEEE MMMM dd, yyyy ); 2.4.4. Giriş için JOptionPane JOptionPane.showInputDialog(null, Metni gir: ); String input; input = JOptionPane.showInputDialog(null, Metni gir: ); Girilen metin input isimli nesneye aktarılır.

Object Oriented Programming İletişim http://www.bote.gazi.edu.tr http://w3.gazi.edu.tr/~celebi/ Bu kitap içeriği Çelebi ULUYOL tarafından An introduction to Object-oriented programming with Java kitabı yardımıyla hazırlanmış, tasarımı Berkan MERAL tarafından yapılmıştır. 2012 / Gazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Eğitimi