Voiko käyttöliittymässä olla ei-abstrakteja menetelmiä?
Voiko käyttöliittymässä olla ei-abstrakteja menetelmiä?

Video: Voiko käyttöliittymässä olla ei-abstrakteja menetelmiä?

Video: Voiko käyttöliittymässä olla ei-abstrakteja menetelmiä?
Video: Julkisen hallinnon API-linjausten valmistelutilaisuus 2024, Joulukuu
Anonim

Käyttöliittymämenetelmät ovat määritelmänsä mukaan julkisia ja abstrakti , joten et voi ei ole - abstrakteja menetelmiä sinun käyttöliittymä . Javalla, käyttöliittymämenetelmiä ovat julkisia ja abstrakti oletuksena. Ensimmäinen vaihtoehto on siis huono käytäntö. Pointti on, että sinä voi älä käytä ei - abstrakteja menetelmiä sisällä käyttöliittymä , koska he ovat abstrakti oletuksena.

Lisäksi voiko käyttöliittymässä olla abstrakteja menetelmiä?

An käyttöliittymä on kuin "puhtaasti" abstrakti luokkaa. Luokka ja kaikki sen menetelmiä ovat abstrakti . An abstrakti luokkaa voi olla toteutettu menetelmiä mutta itse luokkaa ei voida instantoida (hyödyllinen perinnössä ja DRY:n jälkeen). Jos otat käyttöön Käyttöliittymä sitten sinun on otettava käyttöön menetelmiä in käyttöliittymä.

Voiko abstraktilla luokalla myös olla ei-abstrakteja menetelmiä? kyllä me voi olla an abstrakti luokka ilman Abstraktit menetelmät koska molemmat ovat itsenäisiä käsitteitä. Ilmoittaa a luokan abstrakti tarkoittaa sitä voi ei ilmene itsestään ja voi olla vain alaluokkaa. Ilmoittaa a menetelmä abstrakti tarkoittaa että Menetelmä tulee määritellään alaluokassa.

Lisäksi voimmeko määritellä menetelmiä käyttöliittymässä?

Kuten luokka, an käyttöliittymä voi omistaa menetelmiä ja muuttujat, mutta menetelmiä julistettiin an käyttöliittymä ovat oletuksena abstrakteja (vain menetelmä allekirjoitus, ei ruumista). Liitännät määrittää, mitä luokan on oltava tehdä eikä miten. Jos luokka toteuttaa tämän käyttöliittymä , sitten se voi käyttää kokoelman lajitteluun.

Pitääkö kaikki käyttöliittymän menetelmät toteuttaa?

Kyllä, se on pakollista toteuttaa kaikki the menetelmiä luokassa, joka toteuttaa an käyttöliittymä ellei tämä luokka ole abstrakti luokka. Sinä omistaa kaksi vaihtoehtoa: - toteuttaa joka menetelmä vaatima käyttöliittymä tai - julistaa kadonneen menetelmiä abstrakti luokassasi.

Suositeltava: