BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt değişkenini tanımlamak gerekir. Nesne daha tanımlanmadığindan direk olarak nesne ismini kullanamayız. Bunun yerina java this deyimini kullanır. This deyimi bilhassa sınıfa ait değişken silerinin aynısı metodda kullanılmışsa işe yarar. Bu durumda tüm sınıfa ait değişkenler this.değişken_ismi komutuyla çağırılabilir. Uygulama1: package javaapplication58; class DD private double en; private double boy; //default yapilandiriciyi yazalim public DD() //en data alanimizi GET metodu ile dondurelim public double geten() return en; //boy data alanimizi GET metodu ile dondurelim public double getboy() return boy; //en data alanimiza SET metodu ile deger atalim public void seten(double x) en=x; //boy data alanimiza SET metodu ile deger atalim public void setboy(double y) boy=y; public double alani() return en*boy; public class Main public static void main(string[] args) DD dd1=new DD(); 1
dd1.seten(5); dd1.setboy(10); System.out.println("Dikdortgenin eni: "+dd1.geten()); System.out.println("Dikdortgenin boyu: "+dd1.getboy()); //metodu cagirip calistiralim System.out.println("Dikdortgenin alani: "+dd1.alani()); Uygulama2: This kullanarak data alanlarını gösterelim: package javaapplication58; class DD private double en; private double boy; //default yapilandiriciyi yazalim public DD() //en data alanimizi GET metodu ile dondurelim public double geten() return this.en; //boy data alanimizi GET metodu ile dondurelim public double getboy() return this.boy; //en data alanimiza SET metodu ile deger atalim public void seten(double en) this.en=en; //boy data alanimiza SET metodu ile deger atalim public void setboy(double boy) this.boy=boy; public double alani() return this.en*this.boy; 2
Uygulama3: Örneğimizin senaryosu bir bankadır. Bankada yapılan hesap açma, para yatırma, para çekme, bakiye öğrenme, hesap numarası öğrenme gibi işlemleri bir Class da yapacağız. Her zamanki gibi öncelikle Class'ımızı oluşturuyoruz.. package javaapplication59; class Hesap //private NumberFormat fmt=numberformat.getcurrencyinstance(); private final double ORAN=0.035; private long HesapNo; private double Bakiye; private String Isim; //Constructor oluşturuyoruz. //Bu class'dan her nesne oluşturulduğunda bu parametreleri dışardan bekleyecektir. //Peki niye böyle bir şey yapıyoruz? diyebilirsiniz //Sizce hesap sahibi,hesap numarası,bakiyesi olmayan bir hesap olabilirmi? public Hesap(String HesapSahibi,long No,double bakiye) //Dışardan aldığımız parametreleri bu class'da kullanmak //için burada tanımladığımız değişkenlere atıyoruz Isim=HesapSahibi; HesapNo=No; Bakiye=bakiye; public double ParaYatir(double para) if(para<0)//sıfırın altında para yatırılamayacağına göre:) System.out.println("Sıfırın altında para yatırılamaz"); //Yatırılan para bakiyenize eklenir Bakiye=Bakiye+para; return para; public double ParaCek(double para) 3
//Ne kadar para çekildiğine bakılır.sıfırın altında ise hata mesajı verir if(para<0) System.out.println("Sıfırın altında para yatırılamaz"); //Çekilmek istenilen para bakiyeden büyükse yine hata mesajı verilecektir if(para>bakiye) System.out.println("Çekmek istediğiniz para şu an hesabınızda bulunmamaktadır"); //Çekilen para bakiyenizden düşürülür Bakiye=Bakiye-para; public double Faiz() //Bu metod ile faiz hesabı yapılır. Bakiye+=(Bakiye*ORAN); //Bu işlemden sonra bakiye ana programa döndürülür public double BakiyeOgren() public long HesapNoOgren() return HesapNo; public String getisimnobakiye() return (HesapNo+" " +Isim+" "+Bakiye); public class Main 4
public static void main(string[] args) //Biraz önce oluşturduğumuz class'lardan burada nesneler oluşturduk ve //onların hesap bilgilerini parametre olarak gönderdik. Hesap hesap1=new Hesap("Kemal Burak",123456,500.000); Hesap hesap2=new Hesap("Ali",987654,100.000); Hesap hesap3=new Hesap("Veli",456987,200.000); //Birinci hesaba paramızı yatırdık.bu bize //hesap bilgisini geri döndürür fakat javada bunu bir değişkene atamaya gerek yoktur hesap1.parayatir(100); System.out.println("Para Yatırdıktan sonraki bakiyeniz="+hesap1.bakiyeogren()); //Burada dönen bilgiyi bir değişkene atadık //double AlininHesabi=hesap2.ParaYatir(150.000); //Hesabımızdan paramızı çekiyoruz System.out.println("Para çektikten sonraki bakiyeniz="+hesap2.paracek(50.000)); hesap3.paracek(100.000); //Faiz metodundaki işlemlerimizi yapıyoruz hesap1.faiz(); hesap2.faiz(); hesap3.faiz(); System.out.println(hesap1.getIsimNoBakiye()); System.out.println(hesap2.getIsimNoBakiye()); System.out.println(hesap3.getIsimNoBakiye()); 5