Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bil 102 Bölüm 4 Sınıflar ve Metotlar Bil 1021. Sınıf ve Metot Tanımları Nesnesel diller yazılım projelerini daha kolay yönetilir, programları daha kolay.

Benzer bir sunumlar


... konulu sunumlar: "Bil 102 Bölüm 4 Sınıflar ve Metotlar Bil 1021. Sınıf ve Metot Tanımları Nesnesel diller yazılım projelerini daha kolay yönetilir, programları daha kolay."— Sunum transkripti:

1 Bil 102 Bölüm 4 Sınıflar ve Metotlar Bil 1021

2 Sınıf ve Metot Tanımları Nesnesel diller yazılım projelerini daha kolay yönetilir, programları daha kolay okunur yapmak, gelişime ve de ğ iştirilmeye daha uygun olmalarını sa ğ lamak üzere geliştirilmiştir. Programlar nesnelerin tanımı (sınıflar) ve nesnelerin işlenmeleri (metotlar) çerçevesinde oluşturulur. (1) Nesnelerin ortak özellikleri sınıf yapıları kullanılarak tanımlanır (class). (2) Bu yapılar içinde nesne özellikleri (alanlar) ve nesneleri işleyen metotlar tanımlanır. (3) Tanımlı sınıflar kullanılarak nesneler oluşturulur ve bu nesnelerle problemler çözülür. Bil 1022

3 Sınıflar ve Metotlar Nesneler (object) -- etrafımızda bulunan herşey Sınıf (class) -- aynı cins nesnelerin genel tanımı Kitap sınıfı fizik kitabı, java kitabi, matematik kitabi (her biri ayrı birer nesne) Aynı sınıfa ait nesneler ortak özelliklere sahiptir fakat bu özellikler herbir nesne için farklılık gösterebilir Bil 1023

4 Örnek Her kitabın ◦ Adı ◦ Yazarları ◦ Yayıncısı ◦ Sayfa sayısı ◦... Bil 1024

5 Örnek Java kitabı: Özellikler: ad: Java ile Programlama Yazarlar: Ali Yazıcı,... Yayıncı: Palme Sayfa: 270 Bil 1025 Matematik kitabı: ad: Calculus Yazar: Thomas Yayıncı: Pearson Sayfa:...

6 Örnek Personel Sınıfı Sınıf adı: Personel Özellikleri (veriler): özellikler nesne bilgilerini tutmak isim için kullanılır sicilNo vergiNo ePosta Metotlar: metotlar bilgileri işlemek için kullanılır + maasHesabı(); +ePostaYollama(); Bil 1026

7 Örnek Nesne adı: bilgisayarMuhBlmBaskani Özellikler: isim: Erdogan Dogdu sicilNo: Axxx vergiNo: 900xxxxx ePosta: Bil 1027

8 Personel Sınıfının Java’da Tanımlanması public class Personel { // ozellikler (veriler) public String isim; public String sicilNo; public String vergiNo; public String ePosta; // metotlar public void maasHesabi() { //metot islemleri… } public void ePostaYollama() { //metot islemleri } Bil 1028

9 Sınıf kullanımı Personel sınıfını kullanabilmek için PersonelDene programı Bu programın çalışması için içinde bir main() metodu olması gerekir Çalıştırılabilir programlar da sınıf olarak tanımlanır Bir programın çalıştırılabilmesi için static main () metodu olması gerekir Bil 1029

10 Sınıf Kullanımı public class PersonelDene { public static void main(String [] args) { Personel bilgisayarMuhBlmBaskani; //nesneyi olustur bilgisayarMuhBlmBaskani = new Personel(); bilgisayarMuhBlmBaskani.maasHesabi(); bilgisayarMuhBlmBaskani.ePostaYollama(); } Bil 10210

11 Genel Sınıf Tanımı public class YeniSinif { -- (somutlasan ornek degiskenleri bildirimleri) public void VeriYazdir() { --- System.out.println(“Mesaj”); //metot } public void VeriIsle() { --- //metot } Bil 10211

12 UML Sınıfları gösterirken UML (Unified Modeling Language) gösterimi kullanılabilir Üstte “sınıf adı”, ortada “alan adları ve türleri”, altta “metot ve parametreleri” belirtilir Personel isim : String //private String isim; +sicilNo: String //public String sicilNo; +vergiNo: String +ePosta: String maasHesabi(): void +ePostaYollama(): void Bil 10212

13 UML Utils a:int -b:int toplamlariBul(int):int +toplamlariBulV2(int,int):int -carp(int,int):int Bil 10213

14 Java kodu  derleme  Java bayt kodu (class dosyasi) E ğ er aynı klasörün içinde bir başka Java programı bu sınıfı kullanıyorsa, yaratılmış olan bu class dosyası tekrar derlenmeden do ğ rudan kullanılabilir Yeni bir sınıf tanımlandı ğ ında, bu sınıfın kullanımı için bu sınıftan bir nesne oluşturulması ve nesne üzerinden metotların ça ğ rılması gerekir Bil 10214

15 public class YeniSinif { public void VeriYazdir() { System.out.println(“Sadece mesaji yazdiralim”); } public class DeneYeniSinif { public static void main(String [] args) { YeniSinif uye = new YeniSinif(); uye.veriYazdir(); System.out.println(“ ”); uye.veriYazdir(); System.out.println(“ ”); } Çıktı: Sadece mesaji yazdiralim Sadece mesaji yazdiralim Bil 10215

16 Bir sınıfın içinde yer alan de ğ işken ve metotlar  o sınıfın üyeleri (member) De ğ işkenler  Gerçekleştirme de ğ işkenleri (instance variables) Nesne yaratılırken özel bir metot olan nesne kurucusu (constructor) kullanılır Nesne kurucusu ça ğ rılırken new komutu uygulanır. Bir nesneye ait özelliklere ve metotlara nokta notasyonu kullanılarak erişilir. Bil 10216

17 Metotların Ça ğ rılması Metotlar iki şekilde kullanılabilir ◦ Bir de ğ er geri döndüren metotlar double numara; numara = Math.random(); ◦ Bir de ğ er geri döndürmeyen (void) metotlar System.out.println(“Ekrandaki mesaj”); Bil 10217

18 void Metotlar Void metotlar ça ğ rıldı ğ ı yere de ğ er döndürmezler public void metot_adi()Metot başlı ğ ı { ---;Metot gövdesi } public : metot her isteyen tarafından kullanılabilir void : metot geriye bir de ğ er döndürmüyor nesneAdı.metotAdı(); Metot e ğ er başka bir sınıfta tanımlı ise, o sınıftan bir nesne oluşturup sonra o nesne ile metodu ça ğ ırmak gerekir E ğ et ça ğ rılan metot, ça ğ rıldı ğ ı sınıf içinde tanımlı bir metottan ça ğ rılıyorsa nesne olmaksızın do ğ rudan ça ğ rılabilir Bil 10218

19 De ğ er döndüren metotlar public dondurulen_deger_turu metot_adi() { ---; return deger_turunde_degisken; } İ çinde bir veya daha fazla return komutu olmalı Void metodlarda da return komutu olabilir, fakat bir veriyle kullanılamaz ve yalnızca return; şeklinde yazılabilir. Metodun sona ermesi gereken durumlarda kullanılabilir. Bil 10219

20 Örnek public class VeriDondur { public int veriYazdir() { int say; String mesaj="Sadece bu mesaji yazdiralim."; System.out.println(mesaj); say=mesaj.length(); return say; } public class deneveriDondur { public static void main(String[] args) { int sembolSayisi; veriDondur eleman=new veriDondur(); sembolSayisi=eleman.veriYazdir(); System.out.println("Sembol sayisi="+sembolSayisi); sembolSayisi=eleman.veriYazdir(); System.out.println("Sembol sayisi="+sembolSayisi); } Bil 10220

21 Parametreli (veri alan) Metotlar Metot bir veri döndürebildi ğ i gibi ça ğ rıldı ğ ı yerden girdi de alabilir Metot adı devamında parantezler içine parametre türleri ve adları virgüllerle ayrılmış şekilde yazılır public dondurulen_deger_turu metot_adi (param_turu param_adi1, …) { ---; } Bil 10221

22 public class veriYolla { public int veriYazdir(String mesaj) { int say; System.out.println("Gelen mesaj:"+mesaj); say=mesaj.length(); return say; } import java.util.Scanner; public class deneVeriYolla { public static void main(String[] args) { veriYolla veri=new veriYolla(); String ileti; int sembolSayisi; Scanner klavye = new Scanner(System.in); ileti=klavye.next(); sembolSayisi=veri.veriYazdir(ileti); System.out.println("Sembol sayisi="+sembolSayisi); } Bil 10222

23 this Parametresi Bir metodun içinde gerçekleştirme de ğ işkenleri veya o sınıfa ait başka bir metot kullanılmak isteniyorsa bu verilere veya metotlara this parametresi kullanılarak ulaşılabilir. Bil 10223

24 public class veriYolla2 { public String mesaj; public int veriYazdir() { int say; System.out.println("Gelen mesaj:"+this.mesaj); say=mesaj.length(); return say; } import java.util.Scanner; public class deneVeriYolla { public static void main(String[] args) { veriYolla2 veri=new veriYolla2(); String ileti; int sembolSayisi; Scanner klavye = new Scanner(System.in); ileti=klavye.next(); veri.mesaj = ileti; sembolSayisi=veri.veriYazdir(); System.out.println("Sembol sayisi="+sembolSayisi); } Bil 10224

25 Yerel De ğ işkenler De ğ işkenler sadece tanımlandıkları alanda geçerlidir Bir metodun içinde tanımlanan bir de ğ işkenin geçerlili ğ i metot bitti ğ inde sona erer Başka bir metotta aynı isimde bir de ğ işken kullanılsa bile bunlar birbirinden farklı de ğ işkenlerdir Bir de ğ işken bir metotta sadece bir kez tanımlanabilir For döngüsü girişinde tanımlanan bir de ğ işkenin geçerlili ğ i döngü bitince sona erer ◦ for(int n=1; n<10;n++) toplam = toplam + n*n; System.out.println(n);// Gecersiz, n tanimli degil Bil 10225

26 public class KarHesabi { public double miktar; public double kar; public void karliToplamGoster () { double yeniMiktar = miktar + (kar/100.0)*miktar; System.out.println (“Kârla beraber yeni miktar “ + yeniMiktar + “ TL.”); } public class TicariHesab { public static void main (String [] args) { KarHesabi karObj = new KarHesabi (); karObj.miktar = ; karObj.kar = 10; karObj.karliToplamGoster (); } Bil Kârla beraber yeni miktar 110 TL

27 Parametrelerin Metoda Girişi Metot başlı ğ ında tanımlanan parametrelere biçimsel parametre (formal parameter) veya sadece parametre denir. Bir metot ça ğ rıldı ğ ında programa ait bazı de ğ işkenler veya de ğ erler parametrelere karşılık olarak metoda gönderilirler. Bunlara da gerçek parametre veya argüman denir. De ğ er ile ça ğ ırma: Argümanların sadece de ğ eri metoda gönderilir. public void dortParametreliMetot(int n1, int n2, double toplam, char harf) { ---; } birNesne.dortParametreliMetot(42, 100, 9.99, ‘Z’); Bil 10227

28 Bilgi Saklanması ve Kuşatma Parametre ve de ğ işkenlerin sadece gerekli durumlarda kullanılması ve program ayrıntılarının mümkün oldu ğ unca saklanmasına kuşatma veya saklama denir. Bil 10228

29 public & private Bir sınıfın gerçekleştirme de ğ işkenlerinin genel (public) olarak tanımlanması tercih edilmez  private public : herhangi bir program veya sınıf tarafından ça ğ rılabilir, kullanılabilir private : sadece sınıfının içindeki metotlar tarafından kullanılabilir, başka bir sınıf veya metot tarafından kullanılamaz Bil 10229

30 Örnek public class personel { public String isim; public String ePosta; public double maas; public double maasHesabi(double brutMaas) { double netMaas; netMaas = 0.81*brutMaas; return netMaas; } public void kayitYazdir() { System.out.println("Personel ismi:"+isim); System.out.println("Personel ePosta:"+ePosta); System.out.println("Personel maasi:"+maas); } Bil 10230

31 Import java.util.Scanner; public class DenePersonel { public static void main(String[] args) { personel bil = new personel(); //nesne kurucusu double maas, netMaas; bil.isim="Ahmet Cakir"; System.out.print("Brut maasi giriniz:"); Scanner klavye=new Scanner(System.in); maas = klavye.nextDouble(); netMaas = bil.maasHesabi(maas); System.out.println("Brut Maas="+maas); System.out.println("Net Maas="+netMaas); bil.maas=netMaas; bil.kayitYazdir(); } Bil 10231

32 Brut maasi giriniz: 4500 Brut maas= Net maas= Personel ismi:Ahmet Cakir Personel Personel maasi: Bil 10232

33 public class BankaHesabi { private double bakiye; //public degiskeni public double yeniBakiye(double cekilenMiktar) { double kalan; kalan=bakiye-cekilenMiktar; if(kalan<0.0) { System.out.println("Yetersiz bakiye..."); return 0.0; } else return kalan; } Import java.util.Scanner; public class deneBankaHesabi { public static void main(String[]args) {Scanner klavye = new Scanner(System.in); double kalan=1000.0, miktar; BankaHesabi hesap=new BankaHesabi(); System.out.print("Cekilecek miktar:"); miktar=klavye.nextDouble(); hesap.bakiye=kalan;// Derleyicide burada hata gösterecek. // Bakiye has private access in BankaHesabi kalan=hesap.yeniBakiye(miktar); System.out.println("Yeni bakiye="+amount); } Bil 10233

34 Private Özel de ğ işkenlere ulaşılması gerekti ğ inde erişim (accessor) metodu, özel de ğ işkenleri de ğ iştirmek gerekti ğ inde de ğ iştirici (mutator) metodu kullanılır. Erişim ve de ğ iştirici metotları di ğ er sınıfların erişebilmesi için public tanımlanır. Erişim metodu adı  getDegiskenAdı() De ğ iştirici metodu adı  setDegiskenAdi() Bil 10234

35 set/get Metotları Set metodu: De ğ işkenin de ğ erini de ğ iştirir. Get metodu: De ğ işkenlerin de ğ erini kullanan programa döndürür (okur). Metot adı olarak set ve get kullanılması zorunlu de ğ ildir. (Örn. yaz ve oku) public void setDegisken (int sayi) { privateDegisken = sayi; } public int getDegisken () { return privateDegisken; } Bil 10235

36 public class BankaHesabi3 { private double hesapBakiyesi; public void setHesapBakiyesi(double Miktar) { hesapBakiyesi =Miktar; } public double paraCek(double cekilenMiktar) { double bakiye = hesapBakiyesi; bakiye-=cekilenMiktar; if(bakiye<0.0) System.out.println("Yetersiz bakiye..."); else hesapBakiyesi = bakiye; return hesapBakiyesi; } public double getHesapBakiyesi() { return hesapBakiyesi; } Bil 10236

37 import java.util.Scanner; public class deneBankaHesabi { public static void main(String[]args) { Scanner klavye = new Scanner(System.in); double kalan, miktar; BankaHesabi3 hesap=new BankaHesabi3(); System.out.print("Hesabinizdaki para:"); kalan=klavye.nextDouble(); System.out.print("Cekilecek para:"); miktar=klavye.nextDouble(); hesap.setHesapBakiyesi(kalan); kalan=hesap.paraCek(miktar); System.out.println("Yeni bakiye="+kalan); hesap.setHesapBakiyesi(kalan*1.1); kalan=hesap.getHesapBakiyesi(); System.out.println("Yeni bakiye="+kalan); } Hesabinizdaki para:10000 Cekilecek para:400 Yeni bakiye: Yeni bakiye: Bil 10237

38 set/get Metotları setHesapBakiyesı() ve getHesapBakiyesi() metotları genel erişimli (public) oldukları için sınıf dışından ça ğ rılarak ilgili de ğ işken alanının okunması ve yazılması sa ğ lanabilir. Her de ğ işken için bu metotların yazılması zorunlu ve gerekli de ğ ildir. Tasarımcının kararına göre de ğ işkenlere bu erişim hakkı verilebilir. Her de ğ işkene bu şekilde erişim yapılması halinde genel erişimden bir fark kalmaz. Bil 10238

39 OgrenciKayıt UML OgrenciKayit ‒ ad: String ‒ kisaSinav1: int ‒ kisaSinav2: int ‒ araSinav: int ‒ final: int ‒ toplamPuan: double ‒ not: char +veriGir(): void +ciktiYaz(): void +setToplam(): void +setNot(): void Bil 10239

40 public class ogrenciKayit { private int kisaSinav1, kisaSinav2, araSinav, finalSinavi; private double toplamPuan; private char notu; private string ad; public void veriGir() {Scanner klavye = new Scanner(System.in); System.out.print(“Ogrenci adini giriniz:”); ad = klavye.next(); System.out.print(“Kisa sinav1 ve kisa sinav2 notlari:"); kisaSinav1 = klavye.nextInt(); kisaSinav2 = klavye.nextInt(); System.out.print(“Ara sinav ve final notlari:"); araSinav = klavye.nextInt(); finalSinavi = klavye.nextInt(); } public void ciktiYaz() { System.out.println (“Isim = “ + ad); System.out.println("Toplam puan ve notu:"); System.out.println(toplamPuan+" "+notu); } Bil 10240

41 public void setToplam() { toplamPuan=0.25*(kisaSinav1+kisaSinav2)/ *finalSinavi+0.25*araSinav; } public void setNot() { if(toplamPuan>=90.0) notu='A'; else if(toplamPuan>=80.0) notu='B'; else if(toplamPuan>=70.0) notu='C'; else if(toplamPuan>=60.0) notu='D'; else notu='F'; } public class deneOgrenciKayit { public static void main(String[]args) { OgrenciKayit ogrenci1=new OgrenciKayit(); ogrenci1.veriGir(); ogrenci1.setToplam(); ogrenci1.setNot(); ogrenci1.ciktiYaz(); } Bil Ogrenci adini giriniz: Ahmet Kisa Sinav1, Kisa Sinav2 notlari: Ara sinav ve final notlari: Isim = Ahmet Toplam puan ve not: D

42 Sınıfta Sorulan Sorular Yeni bir sınıf yazınca bunu kullanmak için import yapmak gerekir mi: ◦ Hayır. import komutunu sınıfları de ğ il paketleri (20-30 tane birbiriyle alakalı sınıftan oluşan gruplar) kullanmak için yazıyoruz. Bil 10242

43 public class KesirliSayi { private int pay; private int payda; public void setSayi(int pay1, int pay2) { pay = pay1; payda = pay2; } public int getPay() { return pay; } public int getPayda() { return payda; } public KesirliSayi topla(KesirliSayi sayi1) { KesirliSayi sayi2 = new KesirliSayi(); sayi2.pay = sayi1.pay * payda + pay * sayi1.payda; sayi2.payda = sayi1.payda * payda; return sayi2; } public void yazdir() { System.out.println(pay + "/" + payda); } Bil 10243

44 import java.util.Scanner; public class DeneKesirliSayi { public static void main(String[] args) { int pay1, pay2, payda1, payda2; KesirliSayi ilkSayi = new KesirliSayi(); KesirliSayi ikinciSayi = new KesirliSayi(); KesirliSayi sayilarToplami; KesirliSayi sonSayi = new KesirliSayi(); Scanner klavye = new Scanner(System.in); System.out.println("Birinci sayinin pay ve paydasi:"); pay1 = klavye.nextInt(); payda1 = klavye.nextInt(); ilkSayi.setSayi(pay1, payda1); System.out.println("Ikinci sayinin pay ve paydasi:"); pay2 = klavye.nextInt(); payda2 = klavye.nextInt(); ikinciSayi.setSayi(pay2, payda2); sayilarToplami = ilkSayi.topla(ikinciSayi); sayilarToplami.yazdir(); sonSayi.setSayi(7,8); sonSayi.yazdir(); } Bil 10244

45 Kuşatma prensiplerine uygun iyi bir sınıf tasarımı için: ◦ Sınıf tanımından hemen önce sınıfın, verilerin ve metodların amacını kısa şekilde açıklayan bir yorum konmalıdır. ◦ Bütün sınıf gerçekleştirme de ğ işkenleri “private” olarak tanımlanmalıdır. ◦ Di ğ er sınıflar ve programlar tarafından de ğ erlerinin de ğ iştirilmesi veya atanması gerekebilecek de ğ işken ve metotlar için erişim ve de ğ iştirici (get,set) metotları yaratılmalıdır. ◦ Bütün public metotların başında metot hakkında bilgi veren kısa bir yorum bulunmalıdır. ◦ Sınıf içinde kullanılan, dışarıyla irtibatı olmayan bütün metotlar “private” olarak tanımlanmalıdır. Bunlara yardımcı metotlar denir ve yalnızca sınıf içinde tanımlı di ğ er metotlar tarafından kullanılırlar. Bil 10245

46 Nesneler ve Gösterimleri De ğ er ile ça ğ ırma: De ğ işkenin aldı ğ ı de ğ er metoda gönderilir, e ğ er metoda giren veri türleri temel veri türleri (int vs.) ise. ◦ Metot içinde yapılan işlemler orjinal nesneyi de ğ iştirmez. Referans ile ça ğ ırma: E ğ er temel veri türlerinden de ğ ilse o zaman metoda de ğ işkenin (nesnenin) kendisi göderilmiş gibi olur; nesnenin bellekteki adresi yollanır. ◦ Metot içinde yapılan işlemler orjinal nesneyi de ğ iştirir. Bil 10246

47 Nesneler ve Gösterimleri Temel veri tipi ataması: int i,j; i = 10; j = i; i = 20; System.out.println(i + “ ve “ + j); 20 ve 10 Bil 10247

48 Nesneler ve Gösterimleri Nesnelerin atanmaları sonucu Arabaferrari, fiat; ferrari = new Araba (); fiat = new Araba (); ferrari.set (“kirmizi”, “450 HP”, “320 km/h”); fiat.set (“beyaz”, “70 HP”, “155 km/h”); fiat = ferrari; fiat.set (“mavi”, “80 HP”, “160 km/h”); System.out.println (“fiat: “ ); fiat.veriGöster (); System.out.println (“ferrari: “ ); ferrari.veriGöster (); fiat: mavi 80HP 160km/h ferrari: mavi 80HP 160km/h Bil 10248

49 Referans ile Ça ğ ırma İ ki basit veri tipi kullanıldı ğ ında de ğ işkenler birbirinden ba ğ ımsız hareket ederler ve iki ayrı de ğ işken olarak de ğ er alabilirler. Nesne kullanıldı ğ ında atama işlemi esnasında “=” işaretinin (atama işareti) sa ğ ındaki nesnenin referansı işaretin solundaki referansa eşitlenir. iki nesne ismi (de ğ işken ismi) aynı nesneyi gösteriyor olmuştur. Dolayısıyla bir de ğ işken ismi kullanarak yapılan bir de ğ işim di ğ er de ğ işkeni de (ismi farklı olsa da) aynı şekilde de ğ iştirmektedir. Bunun sebebi iki nesnenin de referanslarının aynı olmasıdır. Bil 10249

50 Nesneleri Karşılaştırma İ ki nesne == ile karşılaştırılırsa nesnelerin bellek adresleri karşılaştırılmış olacaktır. İ ki nesnenin eşitli ğ i bütün nesne özelliklerinin karşılaştırılmasını gerektirir  equals() metodu yazılmalı! İ ki nesnenin alanlarını tek tek karşılaştırmalı. Bil 10250

51 KesirliSayı için equals() { … public boolean equals(KesirliSayi sayi) { return this.pay == sayi.pay && this.payda == sayi.payda; } Bil 10251

52 … KesirliSayi s1 = new KesirliSayi(); s1.setSayi(3,5); KesirliSayi s2 = new KesirliSayi(); s2.setSayi(3,5); if (s1.equals(s2)) System.out.println(s1.yazdir()+ " ve "+ s2.yazdir()+ " esittir"); else System.out.println(s1.yazdir()+ " ve "+ s2.yazdir()+ " esit degildir"); if (s1 == s2) System.out.println("s1 ve s2 ayni nesnelerdir"); else System.out.println("s1 ve s2 farkli nesnelerdir"); 3/5 ve 3/5 esittir s1 ve s2 farkli nesnelerdir Bil 10252

53 Nesne işlemleri Nesneleri karşılaştırmak için == kullanamıyoruz, equals() metodu yazmak gerekiyor. Nesne de ğ erlerini birbirlerine atamak için de atama komutu = kullanamıyoruz, kopyalama amaçlı bir metot yazmak gerekiyor. E ğ er = kullanırsak nesne de ğ işkenlerinin adresleri eşitlenir ve iki de ğ işken aynı nesneyi gösterir. Bil 10253

54 ... public KesirliSayi kopya() { KesirliSayi yeniSayi = new KesirliSayi(); yeniSayi.setSayi(this.pay, this.payda); return yeniSayi; }... KesirliSayi s2 = s1.kopya(); Bil 10254

55 Referans: kadio ğ lu Bil 10255


"Bil 102 Bölüm 4 Sınıflar ve Metotlar Bil 1021. Sınıf ve Metot Tanımları Nesnesel diller yazılım projelerini daha kolay yönetilir, programları daha kolay." indir ppt

Benzer bir sunumlar


Google Reklamları