Java is een programmeertaal die is ontwikkeld door Sun Microsystems. Java kan worden gebruikt om verschillende applicaties te ontwikkelen. Het is een taal met meerdere paradigma's die objectgeoriënteerd, gestructureerd enz. Ondersteunt. Het belangrijkste voordeel van Java is dat het objectgeoriënteerde programmering (OOP) ondersteunt. De programmeur kan klassen en objecten maken. Er zijn vier pijlers in OOP. Het zijn overerving, polymorfisme, abstractie en inkapseling. Overerving en interfaces zijn gerelateerd aan OOP. De belangrijk verschil tussen overerving en interface is dat overerving is om nieuwe klassen te ontlenen aan bestaande klassen en een interface is om abstracte klassen en meervoudige overerving te implementeren.
1. Overzicht en belangrijkste verschil
2. Wat is overerving in Java
3. Wat is Interface in Java
4. Overeenkomsten tussen overerving en interface in Java
5. Vergelijking zij aan zij - Overname versus interface in Java in tabelvorm
6. Samenvatting
Overerving kan leiden tot code bruikbaarheid. Overname helpt de attributen en methoden van een bestaande klasse opnieuw te gebruiken. Het mechanisme van het afleiden van nieuwe klasse met behulp van de oude klasse wordt overerving genoemd. De oude klasse staat bekend als ouderklasse of superklasse. De afgeleide klasse wordt child-class of subklasse genoemd.
De syntaxis van Java-overerving is als volgt.
class subclass_name verlengt superclass_name
variabele verklaring;
methode verklaring;
Het overervingsconcept kan worden verklaard aan de hand van het volgende voorbeeld. Stel dat er een klasse is met de naam A als volgt.
openbare klasse A
openbare ongeldige som ()
System.out.println ( “Sum”);
Als we een nieuwe methode willen toevoegen zonder de bestaande klasse te wijzigen, kunnen we dit als volgt doen.
openbare klasse B
public void sub ()
System.out.println ( “Sub”);
Programmeur kan overerving gebruiken om klasse A-som te gebruiken ().
openbare klasse B breidt klasse A uit
public void sub ()
System.out.println ( “Sub”);
In de hoofdfunctie is het mogelijk om een object van B te maken en sub () aan te roepen, dat tot klasse B en sum () behoort, dat tot klasse A behoort die overerving gebruikt.
public static void main (String [] args)
B obj = nieuwe B ();
obj.sub ();
obj.sum ();
Er zijn verschillende soorten overerving. Het zijn afzonderlijke overerving, meerdere overerving, overerving op meerdere niveaus en hiërarchische overerving. In enkele erfenis, er is één basisklasse en één afgeleide klasse. In overerving op meerdere niveaus, er zijn drie klassen namelijk, basisklasse, tussenliggende klasse en afgeleide klasse. De tussenklasse erft van de basisklasse en de afgeleide klasse erft van de tussenklasse. In hiërarchische overerving, er is een basisklasse en veel afgeleide klassen. Er is een speciaal type bekend als Hybride overerving. Het is een combinatie van twee of meer soorten overerving.
Figuur 01: Overerving
In Meerdere overerving er zijn veel basisklassen en een afgeleide klasse. Stel dat klasse A en B de basisklassen zijn. Klasse C is de afgeleide klasse. Als zowel A- als B-klassen dezelfde methode hebben en de programmeur die methode oproept uit de afgeleide klasse, veroorzaakt dit een dubbelzinnigheidsprobleem. Het overnemen van twee klassen kan een compileerfout veroorzaken. Daarom wordt meerdere overerving niet ondersteund in Java. Een interface kan worden gebruikt om dat probleem te overwinnen.
Abstractie is een proces waarbij de implementatiedetails worden verborgen en alleen de functies voor de gebruiker worden weergegeven. Abstractie kan worden bereikt met behulp van abstracte klassen of interfaces. Een abstracte methode is een methode zonder een implementatie. Een klasse met ten minste één abstracte methode is een abstracte klasse. Voorbeeld van een abstracte klasse is als volgt.
abstracte klasse A
abstracte ongeldige som ();
Stel dat er twee abstracte klassen zijn als A en B. Om abstracte methoden van A en B te implementeren, wordt een nieuwe klasse C gemaakt. Dan moet klasse C zowel A als B uitbreiden. Maar meerdere overerving wordt niet ondersteund in Java. Gebruik daarom interfaces. Interfaces kunnen worden gebruikt om methoden te declareren, maar het is niet mogelijk om methoden te definiëren. Het is niet mogelijk om een object te maken met behulp van interfaces. Klasse C zou alle methoden in interface A en B moeten implementeren.
interface A
ongeldige som ();
interface B
void sub ();
klasse C werktuigen A, B
openbare ongeldige som ()
System.out.println ( “Summation”);
public void sub ()
System.out.println ( “aftrekken”);
Nu is het in het hoofdprogramma mogelijk om een object van C te maken en beide methoden aan te roepen.
public static void main (String [] args)
C obj = nieuwe C ();
obj.sum ();
obj.sub ();
Dus, interfaces kunnen gebruiken om meerdere overerving te implementeren.
Een ander gebruik van interfaces is dat het beveiliging biedt. Raadpleeg de onderstaande code.
interface A
ongeldige som ();
klasse B implementeert A
openbare ongeldige som ()
System.out.println ( “Summation”);
openbare ongeldige vermenigvuldiging ()
System.out.println ( “vermenigvuldiging”);
Bij het maken van een object van B is het mogelijk om beide methoden sum () en multiply () aan te roepen. Als de programmeur de functie multiply () wil beperken, is dit mogelijk als volgt.
public static void main (String [] args)
Een obj = nieuwe B ();
obj.sum ();
Een obj = nieuwe B (); zal een object maken. Het is van het type A en het geheugen is toegewezen als B. Het is mogelijk om sum () aan te roepen, maar kan multiply () niet uitvoeren. Deze beperking wordt gedaan met behulp van interfaces.
Inheritance vs Interface in Java | |
Overerving is een OOP-concept om nieuwe klassen te ontlenen aan de bestaande klassen. | Interface is een mechanisme in OOP om abstractie en meerdere overerving te implementeren. |
Gebruik | |
Overerving biedt herbruikbaarheid van code. | Interfaces bieden abstractie en meerdere overerving. |
Java is een programmeertaal met meerdere paradigma's die objectgeoriënteerd programmeren ondersteunt. Overerving en interfaces zijn gerelateerd aan objectgeoriënteerd programmeren. Het verschil tussen inheritance en interface is dat inheritance is om nieuwe klassen uit bestaande klassen af te leiden en interfaces om abstracte klassen en meervoudige overerving te implementeren..
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden, zoals per citaatnotitie. Download hier de pdf-versie. Verschil tussen overerving en interface in Java
1.Point, zelfstudies. "Java Inheritance.", Tutorials Point, 31 oktober 2017. Beschikbaar Hier
2.Point, zelfstudies. "Java-interfaces." , Tutorials Point, 31 oktober 2017. Beschikbaar Hier
1.'CPT-OOP-inheritance-bikes 'Door Pluke - Eigen werk, (Public Domain) via Commons Wikimedia