Ero vatsalihasten välillätract-luokka ja rajapinta Java
Keskeinen ero vatsalihasten välillätract-luokka ja rajapinta Java
- Rajapinnassa luokka voi toteuttaa useita rajapintoja, kun taas luokka voi periä vain yhden Ab:ntract-luokka.
- Interfacessa ei ole käyttöoikeusmääreitä. Kaikella Interfacen sisällä määritellyllä oletetaan olevan julkinen määre, kun taas AbsissatracLuokalla voi olla käyttöoikeusmääre.
- Käyttöliittymä ei voi sisältää datakenttiä, kun taas abstract-luokalla voi olla datakenttiä.
- Rajapinnat auttavat määrittelemään luokan oheisominaisuudet, kun taas abstract-luokka määrittää luokan identiteetin.
Mikä on vatsalihaksettract-luokka?
Tunti, jolla on vatsalihaksettracAvainsanaa t sen määrittelyssä kutsutaan nimellä abstract-luokka. Vatsalihaksettract-luokkien vatsalihasten tulisi olla nolla tai enemmäntract-metodit. ts. metodit ilman runkoa. Sillä voi olla useita konkreettisia metodeja. Abstract-luokkien avulla voit luoda piirustuksia betoniluokille. Mutta perivän luokan tulisi toteuttaa abstract-menetelmä. Abs.tract-luokkia ei voida instansoida.
Tärkeitä syitä käyttöliittymien käyttöön
- Käyttöliittymiä käytetään saavuttamiseen abstracTUKSEN.
- Suunniteltu tukemaan dynaamista menetelmän resoluutiota ajon aikana
- Se auttaa saavuttamaan löysä kytkentä.
- Voit erottaa menetelmän määritelmän periytymishierarkiasta
Tärkeitä syitä käyttää vatsalihaksiatract-luokka
- Abstract-luokat tarjoavat oletustoiminnallisuuden alaluokille.
- Tarjoaa mallin tulevia tiettyjä luokkia varten
- Auttaa määrittelemään yhteisen käyttöliittymän alaluokilleen
- Abstract-luokka mahdollistaa koodin uudelleenkäytettävyyden.
Mikä on käyttöliittymä?
Rajapinta on suunnitelma, jota voidaan käyttää luokan toteuttamiseen. Rajapinta ei sisällä konkreettisia metodeja (metodeja, joilla on koodi). Kaikki rajapinnan metodit ovat absolutteja.tract-metodit. Rajapintaa ei voida instansoida. Rajapintoja toteuttavat luokat voidaan kuitenkin instansoida. Rajapinnat eivät koskaan sisällä instanssimuuttujia, mutta ne voivat sisältää julkisia staattisia final-muuttujia (eli vakioluokkamuuttujia).
Ero käyttöliittymän ja absin välillätract-luokka Java
Vatsalihaksettract-luokka sallii sinun luoda toiminnallisuuksia, joita aliluokat voivat toteuttaa tai korvata, kun taas rajapinta sallii sinun vain ilmaista toiminnallisuutta, mutta ei toteuttaa sitä. Luokka voi laajentaa vain yhtä luokkaa.tract-luokka, kun taas luokka voi toteuttaa useita rajapintoja.
| parametrit | liitäntä | Abstract-luokka |
|---|---|---|
| Nopeus | Hidas | Nopea |
| Useita perintöjä | Ota käyttöön useita käyttöliittymiä | Vain yksi vatsalihastract-luokka |
| Tuote mallit | Abstract-menetelmät | Abstract ja betonimenetelmät |
| Milloin käyttää | Tulevaisuuden parannus | Itsenäisyyden välttämiseksi |
| Perintö/toteutus | Luokka voi toteuttaa useita rajapintoja | Luokka voi periä vain yhden Abs-funktiontract-luokka |
| Oletustoteutus | Uusia juttuja lisättäessä käyttöliittymään on painajainen löytää kaikki toteuttajat ja toteuttaa uudet määritellyt tavarat. | Vatsalihasten tapauksessatract-luokassa voit hyödyntää oletustoteutusta. |
| Pääsyn muokkaajat | Käyttöliittymässä ei ole käyttöoikeusmuutoksia. Kaikki rajapinnan sisällä määritellyt oletetaan julkiseksi muokkaajaksi. | AbstracLuokalla voi olla käyttöoikeusmääre. |
| Milloin käyttää | On parempi käyttää käyttöliittymää, kun useat toteutukset jakavat vain menetelmän allekirjoituksen. Arvotyyppien polymorfinen hierarkia. | Sitä tulisi käyttää, kun eri samantyyppisillä toteutuksilla on yhteinen käyttäytyminen. |
| Tietokentät | käyttöliittymä ei voi sisältää tietokenttiä. | luokassa voi olla tietokenttiä. |
| Usean perinnön oletus | Luokka voi toteuttaa useita rajapintoja. | Luokka perii vain yhden vatsalihaksentract-luokka. |
| Täytäntöönpano | Käyttöliittymä on abstract, jotta se ei pysty antamaan mitään koodia. | Vatsalihaksettract-luokka voi antaa täydellisen, oletusarvoisen koodin, joka tulisi ohittaa. |
| Access-muutosten käyttö | Et voi käyttää käyttöoikeusmuutoksia menetelmälle, ominaisuuksille jne. | Voit käyttää vatsalihaksiatract-luokka, joka sisältää käyttöoikeusmääreitä. |
| Käyttö | Liitännät auttavat määrittelemään luokan oheiskyvyt. | Vatsalihaksettract-luokka määrittää luokan identiteetin. |
| Määritellyt kentät | Mitään kenttiä ei voi määrittää | Vatsalihaksettract-luokan avulla voit määrittää sekä kenttiä että vakioita |
| Perintö | Liitäntä voi periä useita rajapintoja, mutta ei voi periä luokkaa. | Vatsalihaksettract-luokka voi periä yhden luokan ja useita rajapintoja. |
| Rakentaja tai tuhoajat | Liitäntä ei voi ilmoittaa rakentajia tai tuhoajia. | Vatsalihaksettract-luokka voi deklaroida konstruktoreita ja destruktoreita. |
| Laajennusten raja | Se voi laajentaa minkä tahansa määrän rajapintoja. | Se voi pidentää vain yhtä luokkaa tai yhtä vatsalihasliikettätract-luokka kerrallaan. |
| Abstract-avainsana | Vatsalihaksissatract-interface-avainsana on valinnainen metodin määrittämisessä abs-funktionatract. | Vatsalihaksissatract-luokka, vatsalihaksettract-avainsana on pakollinen metodin deklaroimiseksi abs-funktionatract. |
| Luokan tyyppi | Rajapinnalla voi olla vain julkisia abs-arvojatract-menetelmät. | Vatsalihaksettract-luokalla on suojatut ja julkiset vatsalihaksettract-menetelmät. |
Esimerkkikoodi Interfacelle ja Absilletract-luokka Java
Seuraavassa on esimerkkikoodi rajapinnan ja abs:n luomiseksitract-luokka Java
Käyttöliittymän syntaksi
interface name{
//methods
}
Java Esimerkki käyttöliittymästä:
interface Pet {
public void test();
}
class Dog implements Pet {
public void test() {
System.out.println("Interface Method Implemented");
}
public static void main(String args[]) {
Pet p = new Dog();
p.test();
}
}
Abstract-luokan syntaksi
abstract class name{
// code
}
Abstract-luokan esimerkki:
abstract class Shape {
int b = 20;
abstract public void calculateArea();
}
public class Rectangle extends Shape {
public static void main(String args[]) {
Rectangle obj = new Rectangle();
obj.b = 200;
obj.calculateArea();
}
public void calculateArea() {
System.out.println("Area is " + (b * b));
}
}

