package p13_lambdy;

public class TradycyjnaImplementacjaInterfejsu implements FunkcjaLiczbowa {

    // Sposób implementacji interfejsów dostępny od samego początku języka Java:
    // tworzymy klasę, w której piszemy "implements Interfejs" i wewnątrz definiujemy
    // wszystkie te metody, które deklaruje interfejs. Metody muszą być publiczne.
    
    // Akurat ta klasa realizuje funkcję podnoszenia do kwadratu.
    
    // Przed implementacją metody z interfejsu można napisac @Override - wtedy kompilator sprawdzi czy naprawdę implementujemy metodę z interfejsu (lub nadpisuje metodę z nadklasy)
    @Override
    public double oblicz(double x) {
        return x*x;
    }
    
    // poza metodami z interfejsu, można dodawać inne:
    public String akuku() {
        return "a kuku!";
    }
    
}
