VAI interfeisam var būt neabstraktas metodes?
VAI interfeisam var būt neabstraktas metodes?

Video: VAI interfeisam var būt neabstraktas metodes?

Video: VAI interfeisam var būt neabstraktas metodes?
Video: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, Novembris
Anonim

Interfeisa metodes pēc definīcijas ir publiskas un abstrakts , tāpēc jūs nevarat nav - abstraktas metodes tavā saskarne . Java valodā, saskarnes metodes ir publiskas un abstrakts pēc noklusējuma. Tātad pirmā iespēja ir slikta prakse. Lieta ir tāda, ka tu var neizmantot nav - abstraktas metodes iekš saskarne , jo viņi ir abstrakts pēc noklusējuma.

Turklāt, vai saskarnei var būt abstraktas metodes?

An saskarne ir kā "tīri" abstrakts klasē. Klase un viss metodes ir abstrakts . An abstrakts klasē var piederēt īstenota metodes bet pašu klasi nevar izveidot (noder mantošanai un pēc DRY). Ja jūs īstenojat Interfeiss tad jums ir jāīsteno metodes iekš saskarne.

Turklāt vai abstraktajai klasei var būt neabstraktas metodes? Jā, mēs var piederēt an abstraktā klase bez Abstraktās metodes jo abi ir neatkarīgi jēdzieni. Paziņojot a klases abstrakts nozīmē, ka tas var nedrīkst būt instantiģēts pats par sevi un var tikai apakšklasē. Paziņojot a metodes abstrakts nozīmē to Metode būs jādefinē apakšklasē.

Turklāt, vai mēs varam definēt metodes saskarnē?

Tāpat kā klase, an saskarne var ir metodes un mainīgie, bet metodes deklarēts an saskarne pēc noklusējuma ir abstrakti (tikai metodi paraksts, bez ķermeņa). Saskarnes norādiet, kas klasei ir jābūt darīt un nevis kā. Ja klase to ievieš saskarne , tad tā var var izmantot kolekcijas kārtošanai.

Vai ir jārealizē visas saskarnes metodes?

Jā, tas ir obligāti īstenot visu uz metodes klasē, kas īsteno an saskarne ja vien šī klase nav abstrakta klase. Tu ir divas izvēles: - īstenot katrs metodi ko pieprasa saskarne vai - pasludināt pazudušo metodes abstrakts savā klasē.

Ieteicams: