KAS liidesel võib olla mitteabstraktseid meetodeid?
KAS liidesel võib olla mitteabstraktseid meetodeid?

Video: KAS liidesel võib olla mitteabstraktseid meetodeid?

Video: KAS liidesel võib olla mitteabstraktseid meetodeid?
Video: ARU PÄHE! 21. august 2023 Presidendi mässuline kõne. Krister Michal mässab Võrklaeva automaksu … 2024, November
Anonim

Liidese meetodid on definitsiooni järgi avalikud ja abstraktne , nii et sa ei saa ei ole - abstraktsed meetodid sinus liides . Javas liidese meetodid on avalikud ja abstraktne vaikimisi. Nii et esimene variant on halb tava. Point on selles, et sina saab ära kasuta mitte - abstraktsed meetodid sees liides , sest nad on abstraktne vaikimisi.

Pealegi, kas liidesel võib olla abstraktseid meetodeid?

An liides on nagu "puhtalt" abstraktne klass. Klass ja kõik see meetodid on abstraktne . An abstraktne klass võib olla rakendatud meetodid kuid klassi ennast ei saa instantseerida (kasulik pärimisel ja DRY järel). Kui rakendate Liides siis peate rakendama meetodid aastal liides.

Samuti kas abstraktsel klassil võib olla mitteabstraktseid meetodeid? jah, meie võib olla an abstraktne klass ilma Abstraktsed meetodid kuna mõlemad on iseseisvad mõisted. Kuulutades a klassi abstraktne tähendab, et see saab ei tohi esineda iseseisvalt ja saab ainult alamklassidesse. Kuulutades a meetod abstraktne tähendab seda Meetod on olema määratletud alamklassis.

Lisaks, kas me saame liideses meetodeid määratleda?

Nagu klass, an liides saab on meetodid ja muutujad, kuid meetodid aastal deklareeritud liides on vaikimisi abstraktsed (ainult meetod allkiri, keha puudub). Liidesed määrake, mida klass peab teha ja mitte kuidas. Kui klass seda rakendab liides , siis see saab kasutada kollektsiooni sorteerimiseks.

Kas kõik liidese meetodid peavad olema rakendatud?

Jah, see on kohustuslik kõik ellu viia a meetodid klassis, mis rakendab an liides välja arvatud juhul, kui see klass on abstraktne klass. Sina on kaks valikut: - rakendama iga meetod poolt nõutud liides või – kuulutada teadmata kadunuks meetodid abstraktne oma klassis.

Soovitan: