Eksempel 1
Klassen kan bare forlenges når "utvider" -modifisereren brukes med den. Da kan bare klassen få tilgang til feltene og egenskapene til en annen klasse. Følgende kodebit har et grunnleggende eksempel for å demonstrere utvidelsesnøkkelordet.
Her har vi opprettet foreldreklassen "Manager". I foreldreklassen "Manager" har vi satt variablene "Status" og "Organisasjonsnavn". Disse variablene inneholder strengverdier mot hver variabel individuelt. Etter det definerte vi “ParentClass ()” -funksjonen til foreldreklassen “Manager”, der vi skrev ut uttalelsen.
Deretter har vi erklært barneklassen "ExtendClassexample1", som bruker "Extend" -tnøkkelordet for overordnet klasse "Manager". Nå får vi tilgang til de spesifiserte variablene og funksjonen til foreldreklassen "Manager" i denne barneklassen. Vi har laget en variabel "avdeling" i barneklassen "extendclassexample1" og tildelt verdien til den. Deretter opprettet vi Main () -metoden for å utføre koden. Vi har kalt barneklassen der og satt objektet "myobj" for denne barneklassen.
Med objektet "myobj" av barneklassen "extendclassexample1", har vi fått tilgang til variablene og funksjonen "parentclass ()". Verdiene som variablene og funksjonen til foreldreklassen “Manager” vil bli skrevet ut på skjermen.
Egenskapene til foreldreklassen vises på konsollen, som vi har fått fra barneklassen. Nøkkelordet "utvider" genererer forholdet mellom foreldreklassen og barneklassen.
Eksempel 2
Nøkkelordet "utvider" kan ikke distribueres med klassen som er definert med det endelige nøkkelordet, da vi ikke kan opprette barneklassen i den endelige klassen. Når den endelige klassen er konstruert, er ikke arv mulig fordi den gjør klassen uforanderlig. Nedenfor har vi gjort den utvidede driften av sluttklassen for å vite hvordan feilmeldingen skjedde.
Her har vi definert en klasse “First” med modifisereren “Final”. Vi har opprettet “show ()” -funksjonen i sluttklassen og skrevet ut strengmeldingen. Deretter har vi erklært en klasse "sekund", som er underklassen i den endelige klassen "først" ved å bruke nøkkelordet "utvider". Vi har kalt den samme funksjonen “show ()” av den endelige klassen “First” og gitt en annen utskriftsuttalelse til den. Deretter konstruerte vi en annen klasse, “ExtendClassexample2”, for Main () -metoden, som utfører metodene til en annen klasse. Vi har erklært objektet “OBJ1” for den endelige klassen “First” og definerte også objektet “OBJ2” for underklassen “Second”.
Når programmet ovenfor blir utført, kastes feilen at den endelige klassen ikke kan arves i Java.
Eksempel 3
Vi kan bruke kjeden til "utvider" nøkkelordet med klassene. Dette er kjent som Java flere arv, der en avledet klasse strekker seg fra baseklassen, og den avledede klassen blir en baseklasse for en annen avledet klasse.
Her har vi etablert en baseklasse, "familie", som er satt med funksjonen overordnede (). Foreldre () -funksjonen er definert med meldingen som vises via metoden Print (). Deretter opprettet vi en avledet klasse “Child1” fra baseklassen “Family” ved å distribuere “utvide” modifikatoren mellom klassen.
Der har vi også erklært en funksjon "sønn", som har utskriftsmeldingen. Deretter har vi spesifisert en annen klasse, “Child2”, som er avledet fra klassen “Child1” av nøkkelordet “utvidelse”. Denne "Child1" -klassen er nå baseklassen for "Child2". Vi har kalt en funksjon “barnebarn ()” inne i klassen, som også viste strenguttalelsen. Deretter har vi en hovedklasse, “ExtendClassexample3”, av programmet fordi hovedfunksjonen () er definert inne i det. Vi har laget objektet “OBJ” for “Child2” og kalt funksjonene fra baseklassene.
Uttalelsene fra baseklassene og den avledede klassen blir lagt inn i konsollen. På denne måten kan vi utføre flere arv mens vi bruker "utvidende" modifiserer.
Eksempel 4
Nøkkelordet "utvides" brukes også til hierarkisk arv. Når underklassene er utvidet fra bare en superklasse, blir saken betegnet som hierarkisk arv.
Her har vi en superklasse, "lærer", som har en "lærer_info" -funksjon. Deretter har vi definert tre underklasser, “Student1”, “Student2” og “Student3”, som også er spesifisert med funksjonene, og "utvider" nøkkelordet utvider disse fra superklassen "lærer". Deretter har vi en førerklasse, “ExtendClassCase4”, som har Main () -metoden. Vi har erklært objektene “S1_OBJ”, “S2_OBJ” og “S3_OBJ” for hver underklasse, og hver underklasse kalles funksjonen “Lærer_info” fra superklassen.
Funksjonserklæringen til hver underklasse vises på konsollen med funksjonserklæringen fra superklassen som underklassene har kalt.
Eksempel 5
Den utvidede klassen, som dannes ved bruk. I det følgende programmet utførte vi overstyringsoperasjonen i superklassefunksjonen.
Her har vi dannet en superklasse, "frukt", og definerte en "juice ()" -funksjon inni den. Funksjonen “Juice ()” har en utskriftsstreng. Deretter utvidet vi superklassen "frukt" ved å lage underklassen "Apple" med modifisereren "utvider". Vi har påkalt superklassen "Fruit" -funksjonen "Juice ()" inni den ved å spesifisere nøkkelordet "@Override" og endre strengen med den nye strengmeldingen.
Dessuten har vi en ny funksjon, "Drinker ()," av underklassen, som også inneholder strengmeldingen. Objektet “A” er erklært for underklassen “Apple”, som påkalte funksjonene.
Derfor har vi overstyrt uttalelsen om superklassefunksjonen inne i underklassen, som her vises som utdata.
Konklusjon
Nøkkelordet "Extends" brukes av den avledede klassen for å utvide baseklassen. Nøkkelordet "utvider" demonstrerer arv mellom baseklassen og avledede klasser. Vi har utvidet underklassene fra superklassen med "Extends" -modifisereren i eksemplene ovenfor. Vi har oppnådd grensesnittene til flerfoldig og hierarkisk arv ved å bruke nøkkelordet "utvide".