Ricerca nel sito web

Approccio orientato agli oggetti della programmazione e dell'incapsulamento Java - Parte 5


Fin dall'inizio di questa serie (e anche prima) sapevi che Java è un linguaggio di programmazione orientato agli oggetti. Il linguaggio di programmazione orientato agli oggetti si basa sul concetto di “oggetti”, che contiene dati come attributi nei metodi.

Ogni oggetto in Java ha uno stato e un comportamento rappresentati da variabili e metodi di istanza. Ogni istanza di una classe può avere un valore univoco per la sua variabile di istanza.

Per esempio,

La Macchina A può essere alimentata con Debian e avere 8 GB di RAM mentre la Macchina B può avere installato Gentoo con 4 GB di RAM. Inoltre è ovvio che gestire la macchina su cui è installato Gentoo richiede più conoscenza – Un comportamento che agisce sul suo stato. Qui il metodo utilizza i valori delle variabili di istanza.

La JVM quando analizza una classe, crea un oggetto di quel tipo. Quando scrivi una classe, in realtà ti comporti come un compilatore che dice alla tua classe cosa dovrebbe sapere l'oggetto e come dovrebbe agire. Ogni oggetto di un particolare tipo può avere un valore diverso per la stessa variabile di istanza.

Ogni istanza di una classe ha lo stesso metodo ma è possibile che tutte si comportino diversamente.

La classe sistema operativo ha 3 variabili di istanza, vale a dire nome sistema operativo, tipo sistema operativo, categoria sistema operativo.

OS
OS_Name
OS_Type
OS_Category
Boot()
Reboot()
scan()

Il metodo Boot() avvia un sistema operativo rappresentato dal nome del sistema operativo per quell'istanza. Quindi se si boot() su un'istanza si avvierà Debian mentre su un'altra istanza si avvierà Gentoo. Il codice del metodo rimane lo stesso in entrambi i casi.

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

Sai già che il programma inizia ad essere eseguito subito dopo il metodo main(). Puoi passare valori nel tuo metodo.

Ad esempio, vorresti dire al tuo sistema operativo quali servizi avviare all'avvio come:

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);

Ciò che passi ai metodi viene chiamato argomenti. È possibile utilizzare una variabile con un tipo e un nome all'interno di un metodo. È importante passare valori con parametro se un metodo accetta un parametro.

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

In questo caso il metodo di riavvio sul sistema operativo passa il valore 600 (riavviare la macchina dopo 600 secondi) come argomento del metodo. Finora abbiamo visto il metodo restituire sempre void, il che significa che non restituisce nulla, semplicemente come:

void main()
	{
	…
	…
	}

Tuttavia puoi chiedere al tuo compilatore di ottenere esattamente ciò che desideri e il tuo compilatore non ti restituirà tipi errati. Puoi semplicemente fare come:

int Integer()
	{
	…
	…
	return 70;
	}

È possibile inviare più di un valore a un metodo. Puoi farlo chiamando due metodi parametrici e inviandoli ad argomenti. Nota: il tipo di variabile e il tipo di parametro devono sempre corrispondere.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}
Dichiarare e inizializzare le variabili di istanza

1. Quando non conosci il valore da inizializzare.

int a;
float b;
string c;

2. Quando conosce il valore da inizializzare.

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

Nota: le variabili di istanza sono spesso confuse con le variabili locali, tuttavia c'è una linea molto sottile tra loro per differenziarle.

3. Le variabili di istanza vengono dichiarate all'interno di una classe a differenza delle variabili locali dichiarate all'interno di un metodo.

4. A differenza delle variabili di istanza, le variabili locali devono essere inizializzate prima di poter essere utilizzate. Il compilatore segnalerà un errore se si utilizza la variabile locale prima che venga inizializzata.

Incapsulamento

Potresti aver sentito parlare di incapsulamento. È una caratteristica della maggior parte dei linguaggi di programmazione orientati agli oggetti che rende possibile unire dati e funzioni in un unico componente. L'incapsulamento è supportato dalla classe e protegge i codici da danni accidentali creando un muro attorno agli oggetti e nascondendo selettivamente le loro proprietà e metodi.

Espanderemo l'incapsulamento in dettaglio nel tutorial giusto quando sarà necessario. Per ora ti basta sapere cos'è l'incapsulamento? Cosa fa? E come funziona?

È tutto per ora. Resta connesso per la parte successiva di questa serie Java "classe e oggetti in Java e Crea il tuo primo oggetto in Java" mentre ci sto lavorando. Se ti piace la serie e il post faccelo sapere nel feedback.