Java >> Java tutorial >  >> Java

Objektorienteret programmering | OOP

Hvad er objektorienteret programmering?

Det er programmeringsstilen, hvor stor applikationssoftware implementeres i form af uafhængigt programmerbare enheder af "data" (i form af felter, ofte kendt som attributter) og "operationer" eller "koder" (i form af procedurer, ofte kendt som metoder) kaldet objekter .

GRUNDLÆGGENDE ELEMENTER I OOP (Objektorienteret programmering)

Et objekt, der holder et andet objekt i sin datablok, udviser indeslutning (HAS-A ) forhold til det objekt, som er følgende to typer:

  1. Hvert objekt har en klasse der specificerer et sæt af variabler(felter), som definerer data(tilstand), der er gemt i objektet, og et sæt funktioner(metoder), som definerer de operationer(adfærd), der understøttes af objektet.
  2. Et objekt oprettes (aktiveres) fra en klasse gennem instansiering, hvor først en hukommelsesblok allokeret til lagring af værdierne af de variabler specificeret af klassen og derefter en speciel funktion kaldet konstruktør, specificeret af klassen kaldes til initialisering af disse værdier.
  3. Hvert objekt har en unik identitet, og når en funktion specificeret af en klasse kaldes på dens objekter, overføres identiteten af ​​dette objekt implicit til implementeringen af ​​denne funktion.
  4. Et objekt, der holder et andet objekt i sin datablok, udviser et indeslutningsforhold (HAS-A) med det objekt, som er af følgende to typer:
    • Sammensætning:Det er en type indeslutning, hvor det ydre objekt rummer alle data for det indre objekt og styrer dets levetid.

Eks.:I Fig. 4.(a)Hotel har et værelse (eller hotel indeholder værelse), værelse har ikke sin egen levetid.

Aggregation :Det er en type indeslutning, hvor de ydre objekter holder identiteten af ​​det indre objekt og giver det mulighed for at kontrollere sin egen levetid.

Eks:I fig. 4.(b) har værelset en identitet (navn, alder, adresse) på gæsten, og gæsten har sin egen levetid

En afledt klasse kan defineres som en udvidelse (underklasse) af en eksisterende base (super) klasse. For at specificere yderligere variabler og funktioner eller at levere nye redskaber til dets eksisterende funktioner.

En ikke-instantiérbar abstrakt klasse kan defineres til at specificere et sæt rene (uimplementerede) funktioner kaldet en grænseflade, som kan implementeres af dens ikke-abstrakte (instantierbare) afledte klasser.

Et objekt af afledt klasse udviser arv (IS-A ) forhold med dens basisklasse, som er af følgende to typer:Realisering :Det er en type arv, hvor basisklassen er abstrakt, men den afledte klasse er ikke abstrakt.

Specialisering :Det er en arvetype, hvor basisklasse og afledt klasse begge er ikke-abstrakte.


Java tag