Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "Nesneye Yönelik Programlama Dr. Pelin GÖRGEL 30.10.2013."— Sunum transkripti:

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

2 Kod 1

3

4

5

6

7

8

9

10

11

12 Kod 2

13

14

15

16

17 Kod 3 (4.6)

18

19

20 Kalıtım Örnek 1 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 1 metodA

21 Kalıtım Örnek 2 class A{ int xA=1; void metodA(){ System.out.println("metodA"); } class B extends A{ int xB=1; void metodB(){ System.out.println("metodB"); void metodA(){ System.out.println("B sınıfındaki metodA"); } 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(b.xA); b.metodA(); }} 1 metodA 1 B sınıfındaki metodA

22 Kalıtım Örnek 3 class B { int xB=10; 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"); void metodB(){ 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 metodB:10 C sınıfındaki metodB:10 B nin constr. calisti C nin constr. calisti 10 metodB:10 4 metodB:10 C sınıfındaki metodB:10

23 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); }

24 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"); void metodB() { System.out.println("C deki metod b:"+super.xB); super.metodB(); } }

25 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 metod B:2

26 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.

27 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.

28 Interface Taslak

29 Interface Örneği-1

30

31 Interface Örneği-2

32 Interface Örneği-3

33 Extending Interfaces

34 Extending Multiple Interfaces public interface Hockey extends Sports,Event

35 Ç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); }}

36 Ç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"); }}

37 Ç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); } }

38 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){ bakiye-= 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); System.out.println("musteria:"+musteria.bakiye); hesaba_havale(musteria,musterib,500); System.out.println("musteria:"+musteria.bakiye); System.out.println("musterib:"+musterib.bakiye); hesaba_havale(musterib,musteria, 1800); System.out.println("musterib:"+musterib.bakiye); System.out.println("musteria:"+musteria.bakiye); }


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

Benzer bir sunumlar


Google Reklamları