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.