İLERİ PROGRAMLAMA Dersi Java’da Soyut Sınıflar ve Arayüzler soru detayı:
SORU:
Aşağıda verilen örnekte tanımlanması gereken örnekler nelerdir?
/* Daire.java */
public class Daire extends Sekil{ double yaricap;
double piSayisi = 3.14;
public void alanHesapla() {
} alan = piSayisi * yaricap * yaricap; public Daire(double yaricapDegeri) {
yaricap = yaricapDegeri; }}
/* Dikdortgen.java */
public class Dikdortgen extends Sekil{ double uzunluk, genislik;
public void alanHesapla() {
} alan = uzunluk * genislik;
{ public Dikdortgen(double uzunlukDegeri, double genislikDegeri)
uzunluk = uzunlukDegeri; } }
CEVAP:
Soruda, Sekil soyut sınıfından kalıtım yoluyla türetilen Daire ve Dikdörtgen sınıflarına ait Java kodları bulunmaktadır. Bu sınıflar içerisinde Sekil sınıfında yer alan soyut metotların içeriklerinin tanımlanması gerekmektedir. İlgili Java program kodları içerisinde bu metodun her iki sınıf için de farklı içeriklerle tanımlandığını görmekteyiz. Bir diğer metot olan alanGoster metodu ise kalıtım yoluyla Daire ve Dikdörtgen sınıflarına aktarılmaktadır. Dolayısıyla alanGoster metodunun herhangi bir yeni tanımlama yapılmadan bu sınıf türündeki nesneler tarafından çağrılabilmesi mümkün olacaktır.