İLERİ PROGRAMLAMA Dersi Java’da Soyut Sınıflar ve Arayüzler soru detayı:

PAYLAŞ:

SORU:

Aşağıda verilen arayüzde Javan kodları hangi amaçla kullanılmıştır?

/* OzellesmisMetin.java */

import java.util.Iterator;
public class OzellesmisMetin implements Iterable, Iterator {

private String metin;
private int sayac = 0;
public OzellesmisMetin (String s) { } metin = s;

public boolean hasNext() {
if (sayac <
metin.length()){

      return true;

else {}

} } return false;

public Character next() { sayac++;

} return metin.charAt(sayac - 1); public Iterator iterator() {

} } return this;
/* HazirArayuzUygulamasi3.java */

public class HazirArayuzUygulamasi3 {
public static void main(String[] args) {

OzellesmisMetin x = new OzellesmisMetin (“Bu bir deneme”); for (Object ch : x){

}

}

}


CEVAP:

Kodları verilen OzellesmisMetin sınıfı Iterable ve Iterator adlı Java kütüphanesi arayüzlerini uygulayan bir sınıftır. Bu sınıfın içerisinde, bu iki arayüze ait hasNext, next ve iterator isimli metotların içeriklerinin tanımlandığı görülmektedir. hasNext metodu, metnin içerisindeki karakterler üzerinde iler- lenirken metnin sonuna gelinip gelinmediğini algılamak için kullanılmaktadır. Metnin sonuna gelinme- diği sürece true değeri döndürecektir. Sonuna gelindiğinde ise false değerini döndürecektir. next metodu, metnin içerisindeki bir sonraki karaktere erişmek için kullanılmaktadır. iterator metodunun, bir Iterator arayüzü döndürmesi beklenmektedir. Bu uygulamanın amacı, bir döngü kullanılması vasıtasıyla içeriğin- deki karakterlerin sırasıyla ayrı ayrı görüntülenebildiği bir metin sınıfı oluşturmaktır. Arayüzler, bu işlevi sağlayan bir metin sınıfının oluşturulması için kullanılmıştır. OzellesmisMetin sınıfının kullanımını bir uygulama içerisinde görebilmek için ise aşağıdaki Java kodlarını içeren HazirArayuzUygulamasi3 isim- li sınıf kullanılmaktadır. HazirArayuzUygulamasi3 sınıfı içerisinde OzellesmisMetin türündeki nesneler oluşturulmaktadır.