Wat is Java-erfenis?

Als het gaat om Java, kan Overerving worden gebruikt wanneer een klasse de kenmerken van een andere bestaande klasse wenst te erven. De klasse die gewoonlijk de functie van een andere klasse wil gebruiken, staat bekend als de subklasse, terwijl de klasse waarvan de functies moeten worden gebruikt, de superklasse wordt genoemd.

In Java zouden eigenlijk alle klassen van een bepaalde klasse moeten zijn afgeleid. Dat leidt naar de vraag "Waar begint het allemaal?" De hoogste klasse, de klasse waarvan andere klassen worden afgeleid, is een objectklasse die wordt beschreven in java.lang. Het object is een root van een klassenstructuur

De onderstaande afbeelding toont die twee soorten klassen:

De subklasse volgt toestand en gedrag zoals variabelen en methoden uit de superklasse. De subklasse kan alleen de items gebruiken die zijn geërfd van de superklasse die is, en ook de subklasse kan dit wijzigen of negeren. Naarmate u in de hiërarchie valt, worden de klassen daarom steeds specifieker:

Overnemen van Object

Elke klasse neemt rechtstreeks van de klasse Object over

In het bovenstaande diagram

openbare klasse Groothandel verlengt Object (…… ..)

public class retailer breidt groothandel (…… ..) uit

openbare klasse grondstof (…………)

Het uitgebreide trefwoord toont de bovenliggende klasse waarvan de subklasse meestal is overgenomen en niet als identificatie kan worden toegepast

In de openbare klasse hoeft grondstof niet te worden uitgebreid, het heeft rechtstreeks toegang tot de klasse Object.

Definitie van Java-erfenis

Een subklasse is een klasse die uit een andere klasse komt. Een subklasse volgt de toestand en het gedrag van al hun voorouders. De concept-superklasse identificeert de directe voorouder van een klasse en al hun oplopende klassen.

Java-erfenis begrijpen met een voorbeeld

Overerving beschrijft de is-een relatie tussen een superklasse en een subklasse. Breidt uit en implementeert sleuteltermen geeft de voorkeur aan overerving in Java.

Er zijn verschillende soorten Java-erfenis zoals hieronder.

  1. Enkele erfenis
  2. Overerving op meerdere niveaus
  3. Hiërarchisch erfdeel
  4. Meerdere overerving
  5. Hybride erfenis

  • Enkele erfenis

Als een klasse een extra klasse uitbreidt, wordt een dergelijke vorm van overerving erfelijkheid op één niveau genoemd.

public class A (
………..
)
public class B extends A (
………..
)

Klasse B heeft klasse A uitgebreid en daarom gebruikt klasse B de methode displayA () van klasse A omdat het een eigen methode is.

  • Overname op meerdere niveaus

Als een klasse een extra klasse uitbreidt, die zelf eenvoudig kan worden uitgebreid met een extra klasse, wordt een dergelijke vorm van overerving overerving op meerdere niveaus genoemd.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends B ( ……………… )

uitgang

Klasse A wordt uitgebreid met eenvoudig klasse B en vervolgens wordt klasse B op zichzelf uitgebreid met klasse C, waardoor klasse C direct toegang heeft tot de methode displayA () en displayB () van klasse A en ook B door eenvoudigweg naar deze te gaan een object van klasse C (zonder objecten van klasse A en B te moeten genereren).

  • Hiërarchisch erfdeel

Wanneer een paar klassen dezelfde klasse erven, staat dit bekend als hiërarchische erfenis. Klasse B en C breiden bijvoorbeeld dezelfde klasse A uit.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends A ( ……………… )

Als een klasse meer dan één kindklasse (subklassen) heeft, en in principe meer dan één kindklasse, een vergelijkbare bovenliggende klasse hebben, wordt eenvoudigweg dit soort overerving hiërarchische erfenis genoemd.

We schrijven een code waarbij klasse B en C klasse A uitbreiden

  • Meerdere overerving

De syntaxis voor meervoudige overerving

public class A ( ……………… )
public class B extends A ( ……………… )
public class D extends A, B, C ( ……………….. )

Opmerking: Multiple Inheritance wordt niet ondersteund in Java.

Java zou geen meerdere overervingen ondersteunen. Dit komt omdat meerdere overervingen dubbelzinnigheid veroorzaken en Java daarom niet gebruikt. Diamond-probleem helpt bij het begrijpen van dit scenario.

Meerdere overervingen in Java kunnen echter worden bereikt met behulp van interfaces. Ongeacht of er veel hoeveelheden interfaces in een klasse met een exacte methode zijn, is er geen indicatie van dubbelzinnigheid, omdat methoden binnen een interface vaak abstract zijn.

De andere manier is om interfaces te gebruiken. Interfaces zullen belangrijk worden.

Een interface geeft de vorm van zijn methoden aan, maar geeft geen implementatiedetails; daarom kun je het denken aan de verklaring van een klasse.

u kunt de interface maken met het trefwoord interface:

interface C
(
…………………………
)
interface b
(
…………………….
)
class a implements b, c
(
………………………
)

We kunnen deze twee interfaces gebruiken met het sleutelwoord implementeert:

  • Hybride erfenis

Hybride overerving is meestal een mengsel van meer dan één soort overerving. Zoals wanneer klasse A en B klasse C Plus uitbreiden, een andere klasse D klasse A daarna, dit kan een hybride erfenis zijn, omdat het de variëteit is van enkele en hiërarchische erfenis.

uitgang

Overerving stoppen met het laatste trefwoord

Je kunt voorkomen dat de klas een subklasse wordt door de hele klas definitief te verklaren zoals hieronder

final class animal
(
public void breathe()
(
System.out.println("Breathing…");
)
)
class dog extends animal
(
public void breathe()
(
System.out.println("Barking…");
)
)
public class history
(
public static void main(String() args)
(
System.out.println("Creating an animal…");
animal a = new animal();
a.breathe();
System.out.println();
System.out.println("Creating an bulldog…");
dog d = new dog();
d.breathe();
)
)

Als u deze code probeert uit te voeren:

Kan eindklassen niet subklasse: klasse dierklasse hond verlengt fout dier 1 gegenereerd.

Constanten maken met het laatste trefwoord

Om te voorkomen dat de methode wordt opgeheven en om subklasse te voorkomen. Er is nog een ander gebruik voor finale in Java, je kunt het gebruiken om constanten te declareren.

Volgens onderstaande code:

public class history
(
Public static void main(String() args)
(
final int a = 4;
a = 5;
)
)

Als u deze code probeert uit te voeren:

Kan geen waarde toewijzen aan een laatste variabele: een gegenereerde 1 fout

Top Java-erfenisbedrijven

  1. Intel
  2. VM-ware
  3. Adobe
  4. Nvidia
  5. Amazone
  6. Cisco
  7. Akamai
  8. Philips elektronica.
  9. IBM
  10. SAP

Voordelen van Java Inheritance

Beschouwd als een van de belangrijkste kenmerken van overerving wordt gebruikt om de hoeveelheid dubbele code in een aanvraagformulier te verminderen door gewone code te delen tussen vele subklassen. Waar gelijke code kan worden verkregen in twee gerelateerde klassen, kan de hiërarchie normaal worden gerefacteerd om de gewone code over te dragen naar een wederzijdse superklasse. Dit zal resulteren in een superieure organisatie van code en kleinere eenvoudigere compilatie-eenheden.

  • Overerving : het kan applicatiecode veel flexibeler maken om aan te passen, simpelweg omdat klassen die erven van een standaard superklasse door elkaar kunnen worden gebruikt. Wanneer het retourtype van een procedure de superklasse is.
  • Herbruikbaarheid - Mogelijkheid om openbare methoden van een basisklasse te beheren zonder het vergelijkbare te herschrijven.
  • Uitbreidbaarheid - uitbreiding van de logica van de basisklasse volgens de bedrijfslogica van de afgeleide klasse.
  • Gegevens verbergen - basisklasse zou een paar gegevens privé willen kunnen houden, dus deze wordt nooit gewijzigd door de afgeleide klasse.
  • Overschrijven - Met overerving kunnen we de methoden van de basisklasse overschrijven, zodat een belangrijke implementatie van de methode van de basisklasse in de afgeleide klasse kan worden voltooid.

Waarom zouden we Java-erfenis gebruiken?

Overerving is een effectief programmeerconcept, maar het kan eenvoudig zijn om ongepast te gebruiken. Gewoonlijk zijn interfaces effectiever en efficiënter.

Overerving is de beste keuze wanneer:

  • Uw erfenishiërarchie betekent een "is-een" relatie, maar geen "heeft-een" relatie.
  • U kunt de code van de basisklassen opnieuw gebruiken.
  • Mogelijk moet u dezelfde klasse en manieren toepassen op verschillende gegevenstypen.
  • De klassenhiërarchie is vrij oppervlakkig, samen met andere ontwikkelaars zullen niet veel meer fasen bijdragen.
  • U wilt globale variaties op afgeleide klassen maken door een basisklasse te wijzigen.

Waarom hebben we Java-erfenis nodig?

Java Inheritance is een OOP-concept (objectgeoriënteerd programmeren). Het belangrijkste doel van overerving is om altijd een bepaald deel van de code van uw project opnieuw te maken met de mogelijkheid om achteraf geselecteerde functies toe te voegen of te verwijderen. Een onderliggende klasse kan geselecteerde methoden van de bovenliggende klasse erven of overnemen; het zijn de methoden zonder de ouderklasse van zichzelf uit te wisselen. Dit kan mogelijk zijn eigen nieuwe methoden omvatten die meestal niet in de kindklasse worden gevonden.

  • Inkapseling: wanneer we een aantal reguliere attributen betrekken, daarna encapsuleren we deze in een bovenliggende klasse en bieden we eenvoudigweg specifieke kenmerken aan onderliggende klassen.
  • Polymorfisme : we zouden polymorfisme met overerving op Java kunnen gebruiken. Om te zorgen voor de vorm van de klasse Kind, werkt de exacte klasse op een andere manier.
  • Herbruikbaarheid van code : toepassing van overerving kan nuttig zijn voor het hergebruiken van code.
  • Efficiëntie : het kan effectief zijn om Overerving toe te passen tijdens het schrijven van code. Dit kan de snelheid van de taak verhogen.

Hetzelfde als in het echte leven, een kind zou bepaalde kenmerken van zijn ouders kunnen erven en, door geselecteerde omgevingsvariaties, nieuwe eigenschappen ontwikkelen of eigenschappen die hij van zijn ouders had gekregen laten vallen.

Wie is de juiste doelgroep om Java Inheritance-technologieën te leren?

Bij het nadenken over wat er moet worden gedaan met Java Inheritance, denken verschillende ontwikkelaars aan het bouwen van:

Android-ontwikkelaar -

Android is het meest effectieve mobiele besturingssysteem in de competitieve markt van vandaag met meer dan 1, 5 miljoen nieuwe apparaten per dag geactiveerd. Android-training biedt u praktische ervaring bij het maken en bouwen van eenvoudige tot complexe Android-apps, zodat u uw droom IT-baan kunt verwerven. Je zou een uitstekende geschiedenis kunnen hebben in programmeren, maar Android-training zal je helpen je vaardigheden te verbeteren.

Android groeit zeker, dus als je de basisprincipes en functies leert, zal je vaardigheden ook nog beter worden. Ontwikkelaars kunnen games en apps maken voor Android-gebruikers en deze verspreiden via een open wereld. Android-training is een van de meest intelligente feiten die een ontwikkelaar kan bereiken, dus het heeft veel voordelen.

IoT Developer -

Je kunt tegenwoordig behoorlijk veel horen over het Internet of Things (IoT). Het IoT is overal, van sensoren in enorme industriële machines in smart-house apparaten zoals digitale beveiligingscamera's. Wist je eigenlijk dat de populaire Nest-thermostaat zal afhangen van een opmerkelijke combinatie van Java en AI? Een paar slimme automaten waarvan Java afhankelijk is, werken met software om inventaris, temperatuur, vochtigheid en regio te volgen. Bovendien zijn verschillende draagbare technologie-applicaties ontworpen in Java Inheritance.

Big Data-analyse -

Tegenwoordig vormt big data-analyse de kern van een van de meest interessante toepassingen van technologie. Onderzoeksstudies in verschillende sleutelindustrieën passen innovatieve gegevensanalysetechnieken toe om nieuwe patronen in grote hoeveelheden gegevens te leren, ook om complexe processen beter te doorgronden.

Ingebouwde systemen -

Ingebedde systemen, beginnend van kleine chips tot gespecialiseerde computers, zijn eigenlijk componenten van grotere elektromechanische apparaten die toegewijde taken uitvoeren. Veel apparaten, zoals simkaarten, blue-ray diskspelers, utility-meters en televisietoestellen, maken gebruik van embedded Java-oplossingen. Volgens Oracle gebruiken 100% van de Blu-ray Disc-spelers en 125 miljoen televisie-apparaten Java.

Hoe deze technologie u helpt bij de groei van uw carrière?

Java is een van de meest prominente en hoofdzakelijk gebruikte programmeertaal op de wereld van informatietechnologie. Java is bovendien een fundamentele programmeertaal die een frisser ook gemakkelijk kan leren. Volgens het rapport van Oracle Java werkt op meer dan 3 miljard apparaten …!

Java is een groenblijvende programmeertaal. Bijna alle bekende bedrijven, waaronder IBM, Infosys, CTS en TCS, gebruiken Java als hun ideale programmeertaal.

Vandaag staan ​​de bestaande Trend Java-ontwikkelaars waarmee ze kunnen spelen hieronder vermeld,

  1. Java met Selenium Automation Tester
  2. Java met DevOps
  3. Java met Hadoop Development

Conclusie

Inheritance is een krachtig wapen van Java dat kan helpen slagen in een meest geschikte taal. Het kan helpen om code-duplicatie te minimaliseren en de bugs te verminderen. Met de code die in de bovenliggende klasse is ingesteld, kunt u niet langer de voorkeur geven aan soortgelijke code voor veel kindklassen met dezelfde kenmerken. Daarom voert overerving in Java codeherbruikbaarheid uit om zeker een betere toegang voor eindgebruikers te zijn.

Aanbevolen artikelen

Dit is een gids geweest voor Wat is Java-erfenis. Hier hebben we het basisconcept, vereiste vaardigheden, carrièregroei en voordelen van Java Inheritance besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is kunstmatige intelligentie
  2. Wat is JavaScript?
  3. Wat is HTML?
  4. Wat is Azure?
  5. Laatste trefwoord in Java