Nesneye Yönelik Programlama Dr. Pelin GÖRGEL

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

Java Programlama Giriş/Çıkış
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.
C# - Metotlar.
Activity Ekleme İşlemi
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.
Java Uygulamaları Konsol Uygulaması.
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Polymorphism.  Bir işlem birden fazla tip üzerinde çalışabilir  Metot temel tip arayüzünü kullanır  İşlem çalışan metot tarafından yapılır.
Arayüzler.  Bir classın ne yaptığı nasıl yaptığından daha önemlidir  abstract kelimesi bir classın ne yapacağını belirler  interface tamamı abstract.
Miras Alma EM-406 Java.
OOP UYGULAMA 5.
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ı.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Sınıfların Tekrardan Kullanılması
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
METODLAR.
C# Metot Overloading (Aşırı yükleme)
Altuğ Altıntaş kitabından Dr. Mustafa Cem Kasapbaşı
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
JAVADA PROGRAM DENET İ M İ VE OPERATÖRLER. int a ; a=4 ; // do ğ ru bir atama 4=a ; // yanlış bir atama!
JAVA İ LE PROGRAMLAMAYA G İ R İ Ş Ekim Dr. Galip Aydın.
Java Sınıf ve Nesne Kavramı UML Gösterimi
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
Metotlar.
JAVA İLE PROGRAMLAMAYA GİRİŞ
METOTLAR.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Kalıtım.
EDUTIME Java Day 8 Serdar TÜRKEL.
Numaralandırmalar(Enumaration)
Kalıtım , Sınıf Asli Ergün.
Polimorfizm.
Demet AYDIN METODLAR Demet AYDIN
Class KahveFincani { public KahveFincani() { System.out.println("KahveFincani..."); } } public class YapilandirciBasitOrnek { public static void main(String[]
JAVA’DA DİZİLER Dr.Galip AYDIN.
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.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
String class String karakterler dizisidir
Hata Ayıklama (Debugging), Arayüzler (Interfaces), Polimorfizm.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
JAVA PROGRAMLAMA ORNEKLER
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 7. Hafta.
Hafta2 Rekürsif Algoritmalar
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.
Nesneye Dayalı Programlama 1
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
Nesneye Dayalı Programlama 1
Nesneye Dayalı Programlama 1
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

Nesneye Yönelik Programlama Dr. Pelin GÖRGEL 30.10.2013

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 1

Kod 2

Kod 2

Kod 2

Kod 2

Kod 2

Kod 3 (4.6)

Kod 3 (4.6)

Kod 3 (4.6)

Kalıtım Örnek 1 1 metodA class A{ int xA=1; void metodA(){ System.out.println("metodA"); }} class B extends A{ int xB=1; void metodB(){ System.out.println("metodB"); public class Test { public static void main(String args[]) { A a=new A(); B b=new B(); System.out.println(a.xA); a.metodA(); //System.out.println(a.xB); //a.metodB(); System.out.println(b.xA); b.metodA(); 1 metodA

Kalıtım Örnek 2 public class Test { class A{ public static void main(String args[]) { A a=new A(); B b=new B(); System.out.println(a.xA); a.metodA(); System.out.println(b.xA); b.metodA(); }} class A{ int xA=1; void metodA(){ System.out.println("metodA"); } class B extends A{ int xB=1; void metodB(){ System.out.println("metodB"); @Override System.out.println("B sınıfındaki metodA"); 1 metodA B sınıfındaki metodA

Kalıtım Örnek 3 class B { int xB=10; public class Test { B(){ metodB(); System.out.println("B nin constr. calisti");} void metodB(){ System.out.println("metodB:"+xB); } } class C extends B { int xC=1; int xB=4; C(){ System.out.println("C nin constr. calisti"); void metodC(){ System.out.println("metodC"); @Override super.metodB(); System.out.println("C sınıfındaki metodB:"+super.xB); } } public class Test { public static void main(String args[]) { B b=new B(); C c=new C(); System.out.println(b.xB); b.metodB(); System.out.println(c.xB); c.metodB(); }} metodB:10 B nin constr. calisti C sınıfındaki metodB:10 C nin constr. calisti 10 4

Kalıtım Örnek 4 class B{ int xB=2; B(int i,int j) { //super(); Hiçbir etkisi yok System.out.println("B nin constr. çalıştı, parametreler:"+i+"ve "+j); } B (int i){ System.out.println("B nin ikinci constr. çalıştı, parametreler:"+i);} B(){ System.out.println("B nin boş constr. Çalıştı”);} void metodB() { System.out.println("metod B:"+xB); }

Kalıtım Örnek 4 class C extends B{ int xC=1; int xB=4; C(int m,int n){ //super(m); İstenirse böyle de kullanılır. super(m,n); System.out.println("C nin constr. çalıştı, parametreler:"+m+" ve "+n); } C(int m){ super(m); System.out.println("C nin ikinci constr. çalıştı, parametreler:"+m); } C(int m,int n,int k){ super(); System.out.println("C nin üçüncü constr. çalıştı");} void metodC() { System.out.println("metod C"); } @Override void metodB() System.out.println("C deki metod b:"+super.xB); super.metodB(); } }

Kalıtım Örnek 4 public class Test { public static void main(String args[]) { B b1=new B(3,5); B b2=new B(7); C c1=new C(10,20); C c2=new C(6); C c3=new C(7,8,9); System.out.println(b1.xB); b1.metodB(); System.out.println(c1.xB); c1.metodB(); } B nin constr. çalıştı, parametreler:3ve 5 B nin ikinci constr. çalıştı, parametreler:7 B nin constr. çalıştı, parametreler:10ve 20 C nin constr. çalıştı, parametreler:10 ve 20 B nin ikinci constr. çalıştı, parametreler:6 C nin ikinci constr. çalıştı, parametreler:6 B nin bos constr. çalıştı C nin üçüncü constr. çalıştı 2 metod B:2 4 C deki metod b:2

Arayüz (Interfaces) Sınıf kavramına benzerler çünkü; Birçok metod ve field (sınıf değişkeni) içerebilirler. .java uzantısını alır, dosya ismi ile aynı olmalıdır. bytecode’a çevrilir ve .class uzantılı dosya oluşur.

Arayüz (Interfaces) Sınıflardan farklıdırlar çünkü; Alt sınıflar arayüzleri ‘extend’ değil, ‘implement’ ederler. Tüm metodları soyuttur ve gövde kısımları bulunmaz. Private veya protected olamazlar. Örneklendirme – instantiate yapılamaz (nesne türetilemez). Field’lar public, static ve final olmalıdır. Constructor içermez. Bir arayüz diğer arayüzlerden miras alabilir. Sınıflar yalnızca bir kez extend edilirken arayüzler birden çok kez extend edilir.

Interface Taslak

Interface Örneği-1

Interface Örneği-1

Interface Örneği-2

Interface Örneği-3

Extending Interfaces

Extending Multiple Interfaces public interface Hockey extends Sports,Event

Çalışma 1: Aşağıdaki kod parçasının çıktısı nedir? class Quest { public Quest(int x){ System.out.print("A:"+x);}} class Quest1 extends Quest { public Quest1(int x){ System.out.print("B:"+x); super(x+1); }} public class Test3 { public static void main(String argv[]){ Quest1 q=new Quest1(5); }}

Çalışma 2: Aşağıdaki kod parçasının çıktısı nedir? class Base{ Base(){ System.out.print("Base");}} public class Check extends Base{ public static void main(String argv[]){ Check c = new Check(); super(); } Check(){ System.out.print("Check"); }}

Çalışma 3: Aşağıdaki boşluğa ne yazılırsa ekrana 1 yazdırılır? class S{ static int x=10;} public class Quest3 extends S{ public static void main(String argv[]){ Quest3 d = new Quest3(); d.mthd();} public void mthd(){ ............... System.out.println(x); } }

Banka Uygulaması interface Banka{ void parayatir(int miktar); void paracek(int miktar); void aidat_ode(int miktar); } public class Bank1 implements Banka { int bakiye; int hesap_no; public void parayatir(int miktar){ bakiye+= miktar; public void paracek(int miktar){ bakiye-= miktar; public void aidat_ode(int miktar){ public static void hesaba_havale(Bank1 alici,Bank1 gonderici,int miktar){ gonderici.bakiye-= miktar; alici.bakiye+=miktar; public static void main(String args[]){ Bank1 musteria=new Bank1(); Bank1 musterib=new Bank1(); musteria.bakiye=2000; musterib.bakiye=8000; System.out.println("musteria:"+musteria.bakiye); musteria.aidat_ode(100); hesaba_havale(musteria,musterib,500); System.out.println("musterib:"+musterib.bakiye); hesaba_havale(musterib,musteria, 1800);