A MUND ndërfaqja të ketë metoda jo abstrakte?
A MUND ndërfaqja të ketë metoda jo abstrakte?

Video: A MUND ndërfaqja të ketë metoda jo abstrakte?

Video: A MUND ndërfaqja të ketë metoda jo abstrakte?
Video: Klasat abstrakte ne Java Tik 11 2024, Mund
Anonim

Metodat e ndërfaqes janë sipas definicionit publike dhe abstrakte , kështu që nuk mundeni nuk kanë - metodat abstrakte në tuajën ndërfaqe . Në Java, metodat e ndërfaqes janë publike dhe abstrakte sipas parazgjedhjes. Pra, opsioni i parë është praktika e keqe. Çështja është që ju mund mos përdor jo - metodat abstrakte brenda të ndërfaqe , sepse ata janë abstrakte sipas parazgjedhjes.

Përveç kësaj, a mund të ketë një ndërfaqe metoda abstrakte?

Një ndërfaqe është si një "thjesht" abstrakte klasës. Klasa dhe gjithçka e saj metodat janë abstrakte . Një abstrakte klasës mund te kete zbatuar metodat por vetë klasa nuk mund të instantohet (e dobishme për trashëgimi dhe pas DRY). Nëse zbatoni Ndërfaqja atëherë ju duhet të zbatoni metodat në ndërfaqe.

Gjithashtu, a mund të ketë klasa abstrakte metoda jo abstrakte? Po ne mund te kete një klasë abstrakte pa Metodat Abstrakte pasi që të dyja janë koncepte të pavarura. Duke deklaruar a abstrakt i klasës do të thotë se ajo mund të mos instantohen më vete dhe mund të jetë vetëm nënklasa. Duke deklaruar a metodë abstrakte do të thotë se Metoda do të përcaktohet në nënklasën.

Përveç kësaj, a mund të përcaktojmë metoda në ndërfaqe?

Si një klasë, një ndërfaqja mund kanë metodat dhe variablat, por metodat deklaruar në një ndërfaqe janë si parazgjedhje abstrakte (vetëm metodë nënshkrim, pa trup). Ndërfaqet specifikoni se çfarë duhet të ketë një klasë bëj dhe jo si. Nëse një klasë e zbaton këtë ndërfaqe , pastaj atë mund përdoret për të renditur një koleksion.

A duhet të zbatohen të gjitha metodat në një ndërfaqe?

Po, është e detyrueshme zbatojnë të gjitha të metodat në një klasë që zbaton një ndërfaqe përveç nëse dhe derisa ajo klasë të jetë një klasë Abstrakte. Ju kanë dy zgjedhje: - zbatojnë çdo metodë kërkohet nga ndërfaqe ose - të deklarojë të zhdukurit metodat abstrakte në klasën tuaj.

Recommended: