İLERİ PROGRAMLAMA Dersi Java’da Soyut Sınıflar ve Arayüzler soru detayı:
SORU:
Aşağıda verilen arayüzde Javan kodları hangi amaçla kullanılmıştır?
/* Daire.java */
public class Daire implements SekilHakkindaBilgi { double yaricap, sonuc;
double piSayisi = 3.14;
public double cevreGoster() {
sonuc = 2 * piSayisi * yaricap; } return sonuc;
public double alanGoster() {
sonuc = piSayisi * yaricap * yaricap;
} return sonuc;
public Daire(double yaricapDegeri) {
} } yaricap = yaricapDegeri; /* Dikdortgen.java */
public class Dikdortgen implements SekilHakkindaBilgi{ double uzunluk, genislik, sonuc;
public double cevreGoster() {
sonuc = 2 * (uzunluk + genislik); } return sonuc;
public double alanGoster() { sonuc = uzunluk * genislik;
} return sonuc;
public Dikdortgen(double uzunlukDegeri, double genislikDegeri) { uzunluk = uzunlukDegeri;
} } genislik = genislikDegeri; /* SekilUygulamasi.java */
public class SekilUygulamasi {
public static void main(String[] args) {
Daire daire = new Daire(4.0);
Dikdortgen dortgen = new Dikdortgen(3.0, 4.0); System.out.println(“Dairenin çevresi = “+daire.cevreGoster()); System.out.println(“Dairenin alanı = “+daire.alanGoster()); System.out.println(“Dikdörtgenin çevresi = “+dortgen.cevreGoster()); System.out.println(“Dikdörtgenin alanı = “+dortgen.alanGoster());
}
}
CEVAP:
Örnekte kodları verilen Daire ve Dikdortgen isimli sınıflar SekilHakkindaBilgi arayüzünü uygulayan sınıflardır. Bu sınıfların içerisinde, ilgili metotların içeriklerinin tanımlandığını görmekteyiz. Daire ve dik- dörtgenin çevre ve alan hesapları farklı şekillerde yapıldığı için bu metotların içerikleri farklıdır. Bu sınıf- ların tamamının kullanımını bir uygulama içerisinde görebilmek için ise aşağıdaki Java kodlarını içeren SekilUygulamasi isimli sınıf kullanılmaktadır. SekilUygulamasi sınıfı içerisinde Daire ve Dikdortgen türün- deki nesneler oluşturulmuştur. Daha sonra bu nesnelere ait cevreGoster ve alanGoster metotları çağrılmıştır.