KAN koppelvlak nie-abstrakte metodes hê?
KAN koppelvlak nie-abstrakte metodes hê?

Video: KAN koppelvlak nie-abstrakte metodes hê?

Video: KAN koppelvlak nie-abstrakte metodes hê?
Video: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, November
Anonim

Koppelvlakmetodes is per definisie publiek en abstrak , so jy kan nie het nie - abstrakte metodes in jou koppelvlak . In Java, koppelvlak metodes is publiek en abstrak by verstek. So eerste opsie is slegte praktyk. Punt is dat jy kan gebruik nie nie - abstrakte metodes binnekant van koppelvlak , want hulle is abstrak by verstek.

Kan 'n koppelvlak ook abstrakte metodes hê?

An koppelvlak is soos 'n "suiwer" abstrak klas. Die klas en alles daarvan metodes is abstrak . An abstrak klas kan hê geïmplementeer metodes maar die klas self kan nie geïnstansieer word nie (nuttig vir oorerwing en na aanleiding van DRY). As jy die Koppelvlak dan moet jy die implementeer metodes in die koppelvlak.

Kan abstrakte klas ook nie-abstrakte metodes hê? Ja ons kan hê an abstrakte klas sonder Abstrakte metodes aangesien beide onafhanklike konsepte is. Verklaar a klas abstrak beteken dat dit kan nie op sy eie geïnstansieer word nie en kan slegs ondergeklassifiseer word. Verklaar a metode abstrak beteken dat Metode sal in die subklas gedefinieer word.

Kan ons ook metodes in die koppelvlak definieer?

Soos 'n klas, 'n koppelvlak kan het metodes en veranderlikes, maar die metodes verklaar in 'n koppelvlak is by verstek abstrak (slegs metode handtekening, geen liggaam nie). Koppelvlakke spesifiseer wat 'n klas moet doen en nie hoe nie. As 'n klas dit implementeer koppelvlak , dan dit kan gebruik word om 'n versameling te sorteer.

Moet alle metodes in 'n koppelvlak geïmplementeer word?

Ja, dit is verpligtend om implementeer alles die metodes in 'n klas wat 'n koppelvlak tensy en totdat daardie klas 'n Abstrakte klas is. Jy het twee keuses: - implementeer elke metode vereis deur die koppelvlak of - verklaar die vermiste metodes abstrak in jou klas.

Aanbeveel: