Dziedziczenie klas to kopiuj wklej z wcześniejszych klas.
Interface to oznazenie klasy że zawiera to i to. (To taki łącznik)
Dzięki czemu można zrobić zmienną o typie interfejsu i w niej przechowywać WSZYSTKIE obiekty które dziedziczą z tego samego interfejsów, intefejsy można łączyć itd. itp.
Zastosowanie interfejsów jest duże.
np. Przyjmujemy w funkcji że zmienna powinna być o typie tego interfejsu.Więc użytkownik musi dopisać do właśnej klasy z jakiego interfejsu dziedziczy.
Można z wielu interfejsów dziedziczyć na raz.
Tu masz przykład z interfejsami:
Main:
import java.io.*;
public class Main {
public static void main(String[] args) {
interfejs[] tab = new interfejs[5];
for(int i=0;i<5;i++)
{
if((i%2) == 0)tab[i] = new Klasówka(i,i+5);
else tab[i] = new Klasówka2(i+3,i,i+425,"Hello my friend");
}
for(int i=0;i<5;i++)
{
tab[i].wypisz();
}
}
}
public class Klasówka implements interfejs {
int a, x;
public void wypisz()
{
System.out.println("Zmienna a: "+a);
System.out.println("Zmienna X: "+x);
}
public Klasówka(int a, int x)
{
this.a = a;
this.x = x;
}
}
public class Klasówka2 implements interfejs {
int a, x,j;
String hi;
public void wypisz()
{
System.out.println("Zmienna a: "+a);
System.out.println("Zmienna X: "+x);
System.out.println("Zmienna j: "+j);
System.out.println("Zmienna hi: "+hi);
}
public Klasówka2(int a, int x, int j, String hi)
{
this.a = a;
this.x = x;
this.j = j;
this.hi = hi;
}
}
public interface interfejs {
public void wypisz();
}