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.

Käyttöliittymä vs. vatsalihaksettract-luokka Java

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));
    }
}

Tiivistä tämä viesti seuraavasti: