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

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

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

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

JComponent in alt sınıfları

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

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

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

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

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.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

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

BİL-141 Bilgisayar Programlama I (Java)

KUYRUKLAR. Doç. Dr. Aybars UĞUR

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;

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

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

VERİ YAPILARI DERS NOTLARI

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

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

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

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

BMH-303 Nesneye Yönelik Programlama

Programlama Dillerinde Kullanılan Veri Tipleri

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

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

Java da. ve AWT ve SWING Kütüphaneleri. BBS-515 Nesneye Yönelik Programlama. Ders #8 (9 Aralık 2009)

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

Java String İşlemleri

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

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

Örnek 1: Programı yazın ve çalıştırın.

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

Nesne Yönelimli Programlama

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

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.

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

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

Sunum İçeriği. Programlamaya Giriş

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

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

Java Programlama Örnekleri. Doç. Dr. Aybars UĞUR

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

public static int Toplam int x, int y

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

YZM 2105 Nesneye Yönelik Programlama

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

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

YZM 2105 Nesneye Yönelik Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

DATA STRUCTURES. Part III. Sınıflar, Nesneler ve İlgili Programlama Örnekleri

Dizi ( Array ) ve Dizgi ( String )

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

JAVADA DİZİ İŞLEMLERİ

D İ Z İ L E R A R R A Y S

Applet Form Örnekleri2

Nesneye Dayalı Programlama

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

11- FONKSİYONLAR (FUNCTIONS)

Nesne Tabanlı Programlama

Karşılaştırma İşlemleri ve Koşullu İfadeler

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

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

Görsel Programlama DERS 08. Görsel Programlama - Ders08/ 1

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

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

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR

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

NESNEYE YÖNELİK PROGRAMLAMA

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

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

Decorator Tasarım Şablonu

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

BAĞLAÇLI LİSTELER LINKED LISTS

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

Nesne Yönelimli Programlama

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

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

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

EMT2226 Nesne Yönelimli Programlamaya Giriş

// hataları işaret eden referans

Business Delegate Tasarım Şablonu KurumsalJava.com

7. HAFTA. Erişim Belirleyiciler

BAĞLAÇLI LİSTELER LINKED LISTS

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

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

Java Class Yapısında Finalize Metotunun Kullanımı

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

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

Liskov Substitution Principle (LSP) Liskov un Yerine Gecme Prensibi KurumsalJava.com

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

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

Transkript:

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR

Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad; int yasi; Yolcu() ; Yolcu(String ad, String soyad) this.ad = ad; this.soyad = soyad; class Ornek_Class public static void main(string args[]) Yolcu yolcu1 = new Yolcu("Ali","Yilmaz"); yolcu1.yazdir(); public void yazdir() System.out.println("Ad : "+ad); System.out.println("Soyad : "+soyad); 2

TEMEL BİLGİ ve TERMİNOLOJİ I Sınıf (Class) : Soyut bir veri tipinin hem verilen tiplerdeki veriler kümesini, hem de bu değerler üzerinde yapılabilecek işlemler kümesini bir araya getirir. Örnek : "Yolcu" sınıfı. Nesne (Object) : Sınıf tipindeki değişkenlere nesne adı verilir. Örnek : "yolcu1" nesnesi. Metot (Method) : Bir eylemi veya işlemi gerçekleştiren sınıf üyesidir. "Yolcu()" yapıcı metotları ve "yazdir()" metodu "Yolcu" sınıfının metotlarıdır. Sınıf Üyeleri (Class Members) : Sınıfın elemanlarına üye adı verilir. Değişkenler, metotlar... Örnekler : "ad", "soyad", "yasi" değişkenleri; "Yolcu()" yapıcı metotları ve "yazdir()" metodu "Yolcu" sınıfının üyeleridir. 3

TEMEL BİLGİ ve TERMİNOLOJİ Yapılandırıcı (Yapıcı) metot (Constructor) : Sınıftan yeni bir nesne yaratıldığı anda çağrılan metoda yapıcı metot adı verilir. Yapıcı metot ismi, sınıf ismi ile aynıdır. Yolcu yolcu1 = new Yolcu("Ali","Yilmaz"); "yolcu1" nesnesi "new" deyimi ile oluşturulurken "Yolcu" sınıfının iki tane "String" parametre alan yapıcı metodu devreye girer. // Yapıcı metot Yolcu(String ad, String soyad) this.ad = ad; this.soyad = soyad; II 4

Örnek 2 Vector Uygulaması Bir vektör oluşturarak sırayla "Ali", "Cemil", "Kemal" isimlerini ekleyiniz. Vektörü iki şekilde dolaşarak (for, enum) isimleri ekrana listeleyiniz. import java.util.*; class Vektor1 public static void main(string args[]) final Vector v = new Vector(1); v.addelement("ali"); v.addelement("cemil"); v.addelement("kemal"); for(int i=0; i<v.size(); ++i) System.out.println(v.elementAt(i)); Enumeration enum = v.elements(); while(enum.hasmoreelements()) System.out.println(enum.nextElement()); 5

Örnek 3 Bir Yolcu (ad, yas) sınıfı oluşturunuz. Yolcu sınıfından yararlanarak oluşturduğunuz iki yolcuyu bir vektöre yerleştiriniz. "for" döngüsü ile tersten dolaşınız. import java.util.*; class Yolcu String ad; int yas; public Yolcu(String ad, int yas) this.ad = ad; this.yas = yas; class Vektor2 public static void main(string args[]) final Vector v = new Vector(1); Yolcu y1 = new Yolcu("Ali",25); v.addelement(y1); Yolcu y2 = new Yolcu("Zekiye",15); v.addelement(y2); for(int i=0; i<v.size(); ++i) Yolcu y = (Yolcu)v.elementAt(i); System.out.println(y.ad+" "+y.yas); 04 Java ile NYP 6

ALIŞTIRMALAR 1. Örnek 2'yi, vektöre isme göre sıralı olarak eleman ekleyecek şekilde değiştiriniz. 2. Örnek 2'yi, vektöre yasa göre sıralı olarak eleman ekleyecek şekilde değiştiriniz. 3. Örnek 2'de, ismi verilen bir yolcuyu silen metodu ekleyiniz. 4. Örnek 2'de, yaşı verilen bir yolcuyu silen metodu ekleyiniz. 5. Örnek 2'de bir yolcunun bilgisini günleyen metodu ekleyiniz. 7

Örnek 4-1 import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class vektor extends JFrame int yer = -1; public vektor() super("vektor Ornek"); Container c = getcontentpane(); c.setlayout(new FlowLayout()); final Vector v = new Vector(1); final JTextField tf = new JTextField(10); c.add(tf); final JButton sonraki = new JButton("sonraki"); sonraki.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) //tf.settext((v.firstelement()).tostring()); if (yer<(v.size()-1)) ++yer; else yer = 0; tf.settext((v.elementat(yer)).tostring()); ); c.add(sonraki); Double d = new Double(3.3); Integer i = new Integer(5); v.addelement(i); v.addelement(d); v.addelement("3. eleman"); setsize(200,150); show(); 8

Örnek 4-2 public static void main ( String args[] ) vektor app = new vektor(); app.addwindowlistener ( new WindowAdapter() public void windowclosing(windowevent e) System.exit(0); ); 9

Örnek 5 1 Telefon GUI Bileşenleri import java.awt.*; import java.awt.event.*; import javax.swing.*; public class telefon extends JFrame implements ActionListener public Container c; private String names[] = "1", "2", "3", "4", "5", "6", "7", "8", "9" ; private JButton b[]; private JTextField tf1; JPanel p1 = new JPanel(); for(int i=0; i<names.length; ++i) b[i] = new JButton(names[i]); b[i].addactionlistener(this); p1.add(b[i]); tf1 = new JTextField(); c.add(p1,borderlayout.center); c.add(tf1,borderlayout.north); setsize(150,150); show(); public telefon() super("telefon"); c = getcontentpane(); c.setlayout(new BorderLayout()); b = new JButton[names.length]; public void actionperformed(actionevent e) if(e.getsource()==b[0]) tf1.settext(tf1.gettext()+"1"); else if(e.getsource()==b[1]) tf1.settext(tf1.gettext()+"2"); else if(e.getsource()==b[2]) tf1.settext(tf1.gettext()+"3"); 10

Örnek 5 2 Telefon GUI Bileşenleri public static void main(string args[]) telefon app = new telefon(); app.addwindowlistener( new WindowAdapter() public void windowclosing(windowevent e) System.exit(0); ); 11