Ups i Java: indkapsling, arv, polymorfisme, abstraktion

posted in: Articles | 0

i den sidste artikel diskuterede vi OOPs-koncepter. Hvis du endnu ikke har tjekket det ud, vil jeg meget anbefale dig at læse det, så du har et grundlæggende overblik over alle de objektorienterede programmeringskoncepter. I denne vejledning, Vi vil diskutere fire vigtige funktioner i OOPs ved hjælp af eksempler fra det virkelige liv.

objektorienteret tilgang : En introduktion

Java er et objektorienteret sprog, fordi det giver funktionerne til at implementere en objektorienteret model., Disse funktioner omfatter abstraktion, indkapsling, arv og polymorfisme.OOPS handler om at udvikle en applikation omkring dens data, dvs. objekter, der giver adgang til deres egenskaber og de mulige operationer på deres egen måde.

abstraktion

et af de mest grundlæggende begreber for ups er abstraktion. Abstraktion er en proces, hvor du kun viser “relevante” data og “skjuler” unødvendige detaljer om et objekt fra brugeren., For eksempel, når du logger ind på din Ama .on-konto online, indtaster du din user_id og adgangskode og trykker på login, Hvad sker der, når du trykker på login, hvordan inputdataene, der sendes til AMA .on-serveren, hvordan de bliver verificeret, abstraheres væk fra dig.

et Andet eksempel på abstraktion: En bil, der i sig selv er en veldefineret objekt, som er sammensat af flere andre mindre genstande som en gearing system, styreapparat, motor, som igen har deres egen delsystemer., Men for mennesker bil er et enkelt objekt, som kan styres ved hjælp af sine delsystemer, selv om deres indre detaljer er ukendte.

indkapsling

dette indlæg giver den teoretiske forklaring af indkapsling med eksempler fra det virkelige liv. For detaljeret forklaring om dette emne med java-programmer henvises indkapsling i java med eksempel.

indkapsling er:

  • Binding af dataene med den kode, der manipulerer den.
  • det holder dataene og koden sikre mod ekstern interferens

ser på eksemplet på en servostyringsmekanisme i en bil., Servostyring af en bil er et komplekst system, som internt har masser af komponenter tæt koblet sammen, de arbejder synkront at vende bilen i den ønskede retning. Det styrer endda den effekt, som motoren leverer til rattet. Men til den eksterne verden er der kun availablen grænseflade er tilgængelig og resten af kompleksiteten er skjult. Desuden er styreenheden i sig selv fuldstændig og uafhængig. Det påvirker ikke funktionen af nogen anden mekanisme.

Tilsvarende kan samme indkapslingskoncept anvendes til kode., Indkapslet kode skal have følgende egenskaber:

  • alle ved, hvordan man får adgang til den.
  • kan nemt bruges uanset implementeringsdetaljer.
  • Der bør ikke nogen bivirkninger af koden, til resten af ansøgningen.

ideen med indkapsling er at holde klasser adskilt og forhindre dem i at være tæt forbundet med hinanden.

et eksempel på indkapsling er klassen af java.util.Hashtable. Brugeren ved kun, at han kan gemme data i form af nøgle/værdipar i en Hashtable, og at han kan hente disse data på de forskellige måder., Men den faktiske implementering som, hvordan og hvor disse data faktisk gemmes, er skjult for brugeren. Brugeren kan blot bruge Hashtable, hvor han ønsker at gemme nøgle/værdi par uden at bekymre sig om dens gennemførelse.

arv

dette indlæg giver den teoretiske forklaring af arv med virkelige eksempler. For detaljeret forklaring om dette emne med java-programmer henvises arv med eksempler og typer af arv i java.

  • arv er den mekanisme, hvormed et objekt erhverver nogle / Alle egenskaber ved et andet objekt.,
  • det understøtter begrebet hierarkisk klassificering.

For eksempel: bil er et firehjulskøretøj, så Antag, at vi har en klasse Fourwhheeler og en underklasse af den med navnet Car. Her køber bil egenskaberne af en klasse FourWheeler. Andre klassifikationer kunne være en jeep, tempo, van osv. Fourwhheeler definerer en klasse af køretøjer, der har fire hjul, og specifik vifte af motorkraft, bæreevne osv., Bil (betegnes som en sub-klasse) køber disse egenskaber fra FourWheeler, og har nogle særlige egenskaber, som er forskellige fra andre klassifikationer af FourWheeler, såsom luksus, komfort, form, størrelse, brug etc.en bil kan have yderligere klassificering som en åben bil, lille bil, stor bil osv., som vil erhverve egenskaberne fra både fire hjul og bil, men vil stadig have nogle specifikke egenskaber. På denne måde kan niveauet af hierarki udvides til ethvert niveau.

Java s .ing og A .t klasser repræsenterer de bedste eksempler på arv.,

polymorfisme

dette indlæg giver den teoretiske forklaring af polymorfisme med virkelige eksempler. For detaljeret forklaring om dette emne med java-programmer henvises polymorfisme i java og runtime & kompileringstid polymorfisme.

  • polymorfisme betyder at behandle objekter forskelligt baseret på deres datatype.
  • med andre ord betyder det en metode med flere implementeringer for en bestemt handlingsklasse. Og hvilken implementering, der skal bruges, afgøres ved kørsel afhængigt af situationen (dvs ., data type af objekt)
  • Dette kan gennemføres ved at designe en generisk grænseflade, som giver generiske metoder til en bestemt klasse af handling, og der kan være flere klasser, hvilket giver gennemførelsen af disse generiske metoder.

lad os se på samme eksempel på en bil. En bil har et gear transmissionssystem. Den har fire forhjul og et bagudgående gear. Når motoren accelereres derefter afhængigt af hvilket gear der er aktiveret forskellig mængde strøm og bevægelse leveres til bilen., Handlingen er den samme anvendelse af gear, men baseret på typen af gear handlingen opfører sig anderledes, eller du kan sige, at den viser mange former (polymorfisme betyder mange former)

polymorfisme kan være statisk og dynamisk begge. Metode overbelastning er statisk polymorfisme mens, metode tvingende er dynamisk polymorfisme.

  • overbelastning i enkle ord betyder mere end en metode, der har det samme metodenavn, der opfører sig forskelligt baseret på de argumenter, der er bestået, mens du kalder metoden., Dette kaldes statisk fordi, hvilken metode, der skal påberåbes er besluttet på tidspunktet for kompilering
  • tvingende betyder en afledt klasse gennemfører en metode til sin super klasse. Opkaldet til overridenmetoden løses ved runtime, således kaldet runtime polymorfisme

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *