İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Basit Class'lar

Class Kullanımı

Bir class yapalım ama bu class bir application olmasın. Bu sadece başka bir uygulamaya hizmet verecek bir class olsun.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 public class GreetingPrinter{
  2   public static void printLine(String line){
  3     System.out.println(line);
  4   }
  5   public static void printGreeting(String greeted){
  6     printLine("Merhaba "+ greeted);
  7   }
  8 }

Şimdi de GreetingPrinter adlı class'ı kullanan bir application yapalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 public class GreeterWithClassUse{
  2         public static void main(String[] args){
  3                 GreetingPrinter.printLine("Dunya");
  4         }
  5 }

Burada iki class'ın işbirliği sözkonusu. GreetingPrinter ekrana bir selamlama basabiliyor. GreeterWithClassUse ise bu class'ı kullanarak "Merhaba Dünya" diyebiliyor. Aynı şekilde bir başka application da bu class'ı kullanabilir.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 public class AnotherGreeterWithClassUse{
  2         public static void main(String[] args){
  3                 GreetingPrinter.printLine("Evren");
  4         }
  5         
  6 }

Bir class yapmanın avantajı, bir işlemi bir kere yapmak, bir daha da oradan kullanmaktır. GreeterPrinter'da bir değişiklik yapma ihtiyacı duyarsak öbür class'lar otomatik olarak duruma adapte olacaktır. Örneğin, GreeterPrinter.printGreeting()'i

public static void printGreeting(String greeted){
  printLine("Merhaba "+ greeted+"! ");
}

şeklinde değiştirelim. İki uygulama da çalışınca selamlamayı ünlemle yapacaktır.

Parametere Kullanımı

GreetingPrinter görüldüğü gibi sadece "Merhaba diyebilmektedir. Bunu kullanan classlardan birinin "Ne Haber?" deme hakkı yoktur. Bunun için başka bir class yapalım :

Göster Gizle Kopar Satır Gizle Satır Göster
  1 public class FlexibleGreetingPrinter{
  2         public static void printLine(String line){
  3                 System.out.println(line);
  4         }
  5         public static void printGreeting(String greeted,String salutation ){
  6                 printLine(salutation+ " "+ greeted + "!" );
  7         }
  8 }

Bu printGreetings() methodu bir yerde

FlexibleGreeting.printGreetings("Dünya","Merhaba");

şeklinde başka bir yerde

FlexibleGreeting.printGreetings("Dünya","Ne Haber");

diye çağrılabilir.

Aynı İsimli Birden Fazla Method Yazmak : Overloading

İki kullanımda da mutlaka Merhaba veya Ne Haber" diye bir selamlama verilmelidir. Oysa aksi belirtilmediği sürece "Merhaba" demesi sağlanabilir.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 public class FlexibleGreetingPrinterWithDefault{
  2         public static void printLine(String line){
  3                 System.out.println(line);
  4         }
  5         public static void printGreeting(String greeted,String salutation ){
  6                 printLine(salutation+ " "+ greeted + "!" );
  7         }
  8         public static void printGreeting(String greeted){
  9                 printGreeting(greeted,"Merhaba");
 10         }
 11 }

Bu şekilde benzer işlevi gören aynı adlı iki method iki farklı şekilde kullanılabilir. Bir yerde

  FlexibleGreetingPrinterWithDefault.printGreeting("Dünya","Nasılsın");

şeklinde çaırılabilir. Bir başka yerde

FlexibleGreetingPrinterWithDefault.printGreeting("Dünya");

denebilir. İkinci durumda biz söylemesek de "Merhaba" diyecektir. Buna overloading denir. İkinci bir versiyon yazarak printGreeting()'i overload etmiş olduk.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır