Enfocament orientat a objectes de la programació i l'encapsulació de Java - Part 5


Des del començament d'aquesta sèrie (i fins i tot abans) sabies que Java és un llenguatge de programació orientat a objectes. El llenguatge de programació orientat a objectes es basa en el concepte d'objectes, que conté dades com a atributs en mètodes.

Cada objecte a Java té estat i comportament que es representen per variables i mètodes d'instància. Cada instància d'una classe pot tenir un valor únic per a la seva variable d'instància.

Per exemple,

La màquina A pot estar engegada amb Debian i tenir 8 GB de RAM, mentre que la màquina B pot tenir instal·lat Gentoo amb 4 GB de RAM. També és obvi que la gestió de les màquines que han instal·lat Gentoo requereix més coneixement: un comportament que actua sobre el seu estat. Aquí el mètode utilitza valors de variables d'instància.

La JVM quan analitza una classe, fa un objecte d'aquest tipus. Quan esteu escrivint una classe, en realitat actueu com un compilador dient a la vostra classe què ha de saber l'objecte i com ha d'actuar. Cada objecte d'un tipus particular pot tenir un valor diferent per a la mateixa variable d'instància.

Cada instància d'una classe té el mateix mètode però és possible que totes es comportin de manera diferent.

La classe del sistema operatiu té 3 variables d'instància, a saber, el nom del sistema operatiu, el tipus de sistema operatiu i la categoria del sistema operatiu.

El mètode Boot() arrenca un sistema operatiu que està representat pel nom del sistema operatiu per a aquesta instància. Per tant, si arrenqueu() en una instància, arrencareu a Debian mentre que en una altra instància arrenqueu a Gentoo. El codi del mètode segueix sent el mateix en tots dos casos.

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

Ja sabeu que el programa comença a executar-se just després del mètode main(). Podeu passar valors al vostre mètode.

Per exemple, us agradaria dir-vos al sistema operatiu quins serveis heu d'iniciar a l'arrencada com a:

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

El que passeu als mètodes s'anomena arguments. Podeu utilitzar una variable amb un tipus i un nom dins d'un mètode. És important passar valors amb paràmetre si un mètode pren un paràmetre.

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

Aquí, el mètode de reinici del sistema operatiu passa el valor de 600 (reinici de la màquina després de 600 segons) com a argument del mètode. Fins ara hem vist que el mètode sempre torna nul, el que significa que no et retorna res, simplement com:

void main()
	{
	…
	…
	}

Tanmateix, podeu demanar al vostre compilador que obtingui exactament el que voleu i el vostre compilador no us retornarà tipus equivocats. Simplement podeu fer com:

int Integer()
	{
	…
	…
	return 70;
	}

Podeu enviar més d'un valor a un mètode. Podeu fer-ho cridant dos mètodes de paràmetres i enviant-los a arguments. Tingueu en compte que el tipus de variable i el tipus de paràmetre sempre han de coincidir.

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

1. Quan no saps el valor a inicialitzar.

int a;
float b;
string c;

2. Quan sàpiga el valor a inicialitzar.

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

Nota: les variables d'instància sovint es confonen amb variables locals, però hi ha una línia molt fina entre elles per diferenciar-les.

3. Les variables d'instància es declaren dins d'una classe a diferència de les variables locals que es declaren dins d'un mètode.

4. A diferència de les variables d'instància, les variables locals s'han d'inicialitzar abans que es puguin utilitzar. El compilador informarà d'error si utilitzeu una variable local abans d'inicialitzar-la.

Encapsulació

Potser heu sentit parlar de l'encapsulació. És una característica de la majoria del llenguatge de programació orientat a objectes que permet unir dades i funcions en un sol component. L'encapsulació és compatible amb la classe i protegeix els codis de danys accidentals creant un mur al voltant dels objectes i oculta les seves propietats i mètodes, de manera selectiva.

Ampliarem l'encapsulació en detalls al tutorial adequat quan sigui necessari. A partir d'ara n'hi ha prou amb saber què és l'encapsulació? Què fa? I com ho fa?

Això és tot per ara. Mantingueu-vos connectat per a la següent part d'aquesta sèrie Java \classe i objectes a Java i feu el vostre primer objecte a Java mentre estic treballant-hi. Si us agrada la sèrie i la publicació, feu-nos-ho saber als comentaris.