Razlika između trbušnih mišićatract Klasa i sučelje u Java

Ključna razlika između trbušnih mišićatract Klasa i sučelje u Java

  • U Interfaceu, klasa može implementirati više sučelja, dok klasa može naslijediti samo jedan Abs.tract Klasa.
  • Unutar sučelja nema modifikatore pristupa. Pretpostavlja se da sve definirano unutar sučelja ima javni modifikator, dok AbstracKlasa t može imati modifikator pristupa.
  • Sučelje ne može sadržavati podatkovna polja, dok abstract klasa može imati podatkovna polja.
  • Sučelja pomažu u definiranju perifernih sposobnosti klase, dok trbušnjacitract klasa definira identitet klase.

Sučelje u odnosu na Abstract Klasa u Java

Što je trbušnjaktract klasa?

Klasa koja ima trbušne mišićetracKljučna riječ t u svojoj deklaraciji naziva se abstract klasa. Abstract klase bi trebale imati nula ili više trbušnjakatract metode. tj. metode bez tijela. Može imati više konkretnih metoda. Abstract klase vam omogućuju izradu nacrta za konkretne klase. Ali nasljeđujuća klasa trebala bi implementirati abstract metoda. Abstract klase se ne mogu instancirati.

Važni razlozi za korištenje sučelja

  • Sučelja se koriste za postizanje abstracANJE.
  • Dizajniran za podršku dinamičkog razlučivanja metode tijekom izvođenja
  • Pomaže vam da postignete labav spoj.
  • Omogućuje vam da odvojite definiciju metode od hijerarhije nasljeđivanja

Važni razlozi za korištenje trbušnih mišićatract klasa

  • Kormilartract klase nude zadanu funkcionalnost za podklase.
  • Pruža predložak za buduće specifične razrede
  • Pomaže vam da definirate zajedničko sučelje za njegove podklase
  • KormilartracKlasa t omogućuje ponovnu upotrebu koda.

Što je sučelje?

Sučelje je nacrt koji se može koristiti za implementaciju klase. Sučelje ne sadrži nikakve konkretne metode (metode koje imaju kod). Sve metode sučelja su apsolutno...tract metode. Sučelje se ne može instancirati. Međutim, klase koje implementiraju sučelja mogu se instancirati. Sučelja nikada ne sadrže varijable instance, ali mogu sadržavati javne statičke konačne varijable (tj. konstantne varijable klase)

Razlika između sučelja i Absatract Klasa u Java

TrbušnjacitracKlasa t vam omogućuje izradu funkcionalnosti koju podklase mogu implementirati ili nadjačati, dok sučelje vam omogućuje samo navođenje funkcionalnosti, ali ne i njezinu implementaciju. Klasa može proširiti samo jedan abstract klasu dok klasa može implementirati više sučelja.

Parametri Sučelje Kormilartract klasa
Brzina Usporiti pompeznost
Višestruko nasljeđivanje Implementirajte nekoliko sučelja Samo jedan trbušnjaktract klasa
Struktura Kormilartract metode Kormilartract i betonske metode
Kada koristiti Buduće poboljšanje Da bi izbjegli neovisnost
Nasljeđivanje/ Implementacija Klasa može implementirati više sučelja Klasa može naslijediti samo jedan Abstract klasa
Zadana implementacija Dok dodajete nove stvari u sučelje, prava je noćna mora pronaći sve implementatore i implementirati novodefinirane stvari. U slučaju trbušnih mišićatract Class, možete iskoristiti zadanu implementaciju.
Modifikatori pristupa Sučelje nema modifikatore pristupa. Sve definirano unutar sučelja pretpostavlja se kao javni modifikator. KormilartracKlasa t može imati modifikator pristupa.
Kada koristiti Bolje je koristiti sučelje kada različite implementacije dijele samo potpis metode. Polimorfna hijerarhija tipova vrijednosti. Trebalo bi se koristiti kada različite implementacije iste vrste imaju zajedničko ponašanje.
Podatkovna polja sučelje ne može sadržavati podatkovna polja. klasa može imati podatkovna polja.
Zadana vrijednost višestrukog nasljeđivanja Klasa može implementirati brojna sučelja. Klasa nasljeđuje samo jedan abstract klasa.
Izvršenje Sučelje je abstract tako da ne može pružiti nikakav kod. Trbušnjacitract klasa može dati potpuni, zadani kod koji treba nadjačati.
Korištenje modifikatora Accessa Ne možete koristiti modifikatore pristupa za metodu, svojstva itd. Možete koristiti trbušne mišićetract klasa koja sadrži modifikatore pristupa.
Upotreba Sučelja pomažu u definiranju perifernih sposobnosti klase. Trbušnjacitract klasa definira identitet klase.
Definirana polja Ne mogu se definirati polja Trbušnjacitract klasa vam omogućuje definiranje i polja i konstanti
Nasljeđivanje Sučelje može naslijediti više sučelja, ali ne može naslijediti klasu. TrbušnjacitracKlasa t može naslijediti klasu i više sučelja.
Konstruktor ili destruktori Sučelje ne može deklarirati konstruktore ili destruktore. TrbušnjacitracKlasa t može deklarirati konstruktore i destruktore.
Ograničenje proširenja Može proširiti bilo koji broj sučelja. Može proširiti samo jedan razred ili jedan trbušnjaktract razred odjednom.
Kormilartracključna riječ t U trbušnim mišićimatracKljučna riječ sučelja t je opcionalna za deklariranje metode kao abstract. U trbušnim mišićimatract klasa, trbušnjacitracKljučna riječ t je obavezna za deklariranje metode kao abstract.
Vrsta razreda Sučelje može imati samo javne abstract metode. Trbušnjacitract klasa ima zaštićene i javne abstract metode.

Primjer koda za Interface i Abstract Klasa u Java

Slijedi primjer koda za izradu sučelja i ABS-atract klasa u Java

Sintaksa sučelja

interface name{
//methods
}

Java Primjer sučelja:

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

KormilartracSintaksa klase t

abstract class name{
    // code
}

Kormilartracprimjer t klase:

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

Sažmite ovu objavu uz: