Diskuze: OOP - Třída se ktrou je možná pracovat jen přes interface
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Jelikož interface nejde sám o sobě instanciovat, tak nevím jak si představuješ že by to mělo fungovat. Ale když uděláš
NejakyInterface objekt = new ImplementaceNejakehoInterfacu();
tak pak můžeš posílat objektu jenom ty zprávy, které jsou definované v interface.
Ano, jeden ze způsobů jsou anonymní třídy.
Anonymní třída je dostupná pouze v kontextu své definice a přístup k ní
je možný pouze přes interface.
public interface HelloFace {
    public void sayHi();
}
public class Program {
    private static HelloFace english() {
        class Hello implements HelloFace {
            public void sayHi() {
                System.out.println("hi");
            }
        }
        return new Hello();
    }
    private static HelloFace czech() {
        class Ahoj implements HelloFace {
            public void sayHi() {
                System.out.println("cau");
            }
        }
        return new Ahoj();
    }
    public static void main(String[] args) {
        HelloFace cz = Program.czech();
        HelloFace en = Program.english();
        cz.sayHi();
        en.sayHi();
    }
}
					Zobrazeno 3 zpráv z 3.
				