Objektorienteret tilgang til Java-programmering og indkapsling - Del 5


Siden starten af denne serie (og endnu før det) vidste du, at Java er et objektorienteret programmeringssprog. Det objektorienterede programmeringssprog er baseret på begrebet “objekter”, som indeholder data som attributter i metoder.

Hvert objekt i Java har tilstand og adfærd, som er repræsenteret af instansvariabler og metoder. Hver forekomst af en klasse kan have en unik værdi for sin instansvariabel.

For eksempel,

Maskine A kan være tændt med Debian og har 8 GB RAM, mens maskine B kan have installeret Gentoo med 4 GB RAM. Det er også indlysende, at styring af maskiner, der har installeret Gentoo, kræver mere viden - En adfærd, der virker på dens tilstand. Her bruger metoden instansvariabler.

JVM'en, når den analyserer en klasse, gør den til genstand af den slags. Når du skriver en klasse, handler du faktisk som en kompilator, der fortæller din klasse, hvad objektet skal vide, og hvordan det skal fungere. Hvert objekt af en bestemt type kan have forskellig værdi for samme instansvariabel.

Hver forekomst af en klasse har den samme metode, men det er muligt, at de alle opfører sig forskelligt.

OS-klassen har 3 instansvariabler, nemlig OS-navn, OS-type, OS-kategori.

Metoden Boot() starter et operativsystem, der er repræsenteret af OS-navn for den instans. Så hvis du starter() på en forekomst, starter du i Debian, mens du i en anden forekomst starter i Gentoo. Metodekoden forbliver den samme i begge tilfælde.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Du er allerede klar over, at programmet begynder at køre lige efter main() -metoden. Du kan overføre værdier til din metode.

For eksempel vil du fortælle dig OS, hvilke tjenester du skal starte ved opstart som:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

Hvad du overfører til metoder kaldes argumenter. Du kan bruge en variabel med en type og et navn inde i en metode. Det er vigtigt at overføre værdier med parameter, hvis en metode tager en parameter.

OS deb = debian();
deb.reboot(600);

Her sender reboot-metoden på OS værdien af 600 (reboot-maskine efter 600 sek) som et argument til metoden. Indtil nu har vi set metoden altid returnere ugyldig, hvilket betyder at den ikke returnerer dig noget, simpelthen som:

void main()
	{
	…
	…
	}

Du kan dog bede din kompilator om at få præcis det, du ønsker, og din kompilator vil ikke returnere dig forkerte typer. Du kan bare gøre som:

int Integer()
	{
	…
	…
	return 70;
	}

Du kan sende mere end en værdi til en metode. Du kan gøre dette ved at kalde to parametermetoder og sende det til argumenter. Bemærk variabel type og parametertype skal altid matche.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}

1. Når du ikke kender værdien, der skal initialiseres.

int a;
float b;
string c;

2. Når kender værdien, der skal initialiseres.

int a = 12;
float b = 11.23;
string c = tecmint;

Bemærk: En instansvariabler forveksles ofte med lokale variabler, men der er en meget tynd linje mellem dem for at differentiere.

3. Forekomstvariabler erklæres i en klasse i modsætning til lokale variabler, der erklæres inden for en metode.

4. I modsætning til instansvariabler skal lokale variabler initialiseres, før de kan bruges. Compileren rapporterer fejl, hvis du bruger lokal variabel, før den initialiseres.

Indkapsling

Du har muligvis hørt om indkapsling. Det er et træk ved det meste af det objektorienterede programmeringssprog, der gør det muligt at binde data og funktioner til en enkelt komponent. Indkapsling understøttes af klasse og beskytter koder mod utilsigtet skade ved at skabe en mur omkring objekter og skjuler deres egenskaber og metoder, selektivt.

Vi udvider indkapslingen i detaljer i den rigtige vejledning, når det er nødvendigt. Fra nu af er det tilstrækkeligt for dig at vide, hvad indkapsling er? Hvad det gør? Og hvordan det gør?

Det er alt for nu. Hold forbindelsen til den næste del af denne Java-serie "klasse og objekter i Java og lav dit første objekt i Java", mens jeg arbejder på det. Hvis du kan lide serien og skrive, så lad os det vide i feedbacken.