Slik Kombiner klasser i Java

Programmerere bruke programmeringsspråket Java, delvis på grunn av sin fullstendige støtte av et objektorientert programmering paradigme. På grunn av dette, kan de opprette ulike dataobjekter og bygge et omfattende bibliotek av allerede eksisterende klasser. Imidlertid bør behovet for å kombinere klasser oppstå, er det tre alternativer tilgjengelig. Den første er å sette opp et hierarki av avledning, i hvilken et mål klasse stammer fra en serie med relaterte klasser. Den andre er å inkludere klasser innen klassen for å kunne bruke deres funksjonalitet. Det tredje er å skape en rekke "grensesnitt" i stedet for klasser og implementere disse grensesnittene.

Bruksanvisning

1 Lag din Java-klassen. Denne klassen vil være den som "kombinerer" de andre klassene:

public class MyClass {
/

Implementering kode av MyClass går her /
}

2 Utvid et hierarki av arve klasser. I Java, er den eneste måten for klassen å arve funksjonalitet fra flere andre klasser hvis disse klassene alle arve fra hverandre i en lineær måte. For eksempel, hvis du ønsker "MyClass" arve funksjonalitet fra "Class1" og "Class2", og Class2 allerede arver data fra Class1, så MyClass kan få funksjonaliteten til både ved å utvide Class2:

public class MyClass strekker Class2 {
/

Implementering kode av MyClass går her /
}

3 Bruk klasser inni klassen. Hvis Klasse1 og Klasse2 er irrelevant, betyr at de ikke dele data gjennom arv, så kan du bruke objekter av Klasse1 og Klasse2 inne MyClass å få tilgang til sin funksjonalitet:

public class MyClass {
offentlig Class1 x = new Class1 ();
offentlig Class2 y = new Class2 ();
/

Implementering kode av MyClass går her /
}

4 Bruk grensesnitt i stedet for klasser. Hvis Klasse1 og Klasse2 er grensesnitt, noe som betyr at de bare leverer en gruppe av metoder for å gjennomføre heller enn å definere dem, så MyClass kan implementere dem begge. En klasse kan implementere en rekke grensesnitt, så lenge det implementerer fremgangsmåter som er definert i grensesnittene:

felles grensesnitt Class1 {
/ Funksjons erklæringer /
}

felles grensesnitt Class2 {
/ Funksjons erklæringer /
}

public class MyClass implementerer Class1, Klasse2 {
/ Implementering kode av MyClass går her /
}