Interfeys va abstrakt klasslar

Daraja: O'rta

Interfeys — shartnoma: nima qilinishi kerakligini aytadi, qanday qilinishini emas. Klass bir nechta interfeysni amalga oshira oladi, lekin faqat bitta klassdan meros oladi. Abstrakt klass umumiy holat + qisman realizatsiya berish kerak bo'lganda ishlatiladi. Java 8'dan interfeysda `default` va `static` metodlar bor.

Tushuntirish

Interfeys — shartnoma: nima qilinishi kerakligini aytadi, qanday qilinishini emas. Klass bir nechta interfeysni amalga oshira oladi, lekin faqat bitta klassdan meros oladi. Abstrakt klass umumiy holat + qisman realizatsiya berish kerak bo'lganda ishlatiladi. Java 8'dan interfeysda `default` va `static` metodlar bor.

Kod misoli

interface Tolov {
    void tola(double summa);

    default String valyuta() { return "UZS"; }
}

class Karta implements Tolov {
    @Override public void tola(double summa) {
        System.out.println(summa + " " + valyuta() + " karta orqali");
    }
}

@FunctionalInterface
interface Tekshiruvchi {
    boolean tekshir(String s);
}

Tekshiruvchi bosh = s -> s == null || s.isBlank();

Keng tarqalgan xatolar

Mashqlar

Teglar: interfeys, oop

Interaktiv ko'rinish (viktorina, izohlar, tarix)