Klase aldagai (informatika)

Klase bat entitate abstraktu bat da, eta objektu edo instantzia multzo baten abstrakzioa errepresentatzen du. Halaber, objektu baten forma definitzen duen eredua da. Hau da, klase bat ez da objektu bat, baina objektuak eraikitzeko erabiltzen da.

**Objektuetara bideratutako programazioan**, klasea funtsezko mekanismoa da, adibidez Java lengoaian. Klasearen barnean definitzen dira objektu horrek izango dituen atributuak eta metodoak. Horrek esan nahi du klase honetako sortzen diren objektu guztiak elkarbanatuko dituztela atributu eta metodo berdinak. Gainera, estatu eta portaera berdineko objektu taldeak izango dira klaseak. Informazioa-ezkutatzeko egokiak dira klaseak.

Gainera, hainbat objektu sortu daitezke klase berdinetik eta instantzia hauek balore desberdinak izan ditzakete.

## Adibidea 
Adibidez, katua deitzen den klase bat existitzen da, eta hainbat ezaugarri(atributuak) honen barruan definitzen ditugula , adibidez: kolorea, pisua... eta hainbat jokaera(metodoak), hala nola, salto egin, jan... 

Klase honako instantzia bat egiten dugunean katu guztiek atributu eta metodo berdinak izango dituzte, baina atributu bakoitzaren balioa desberdina izan daiteke.
```java
public class Katua {
	//atributak
	
	String kolorea;
	double pisua;
	
	//eraikitzailea
	public Katua(String pKolorea, double pPisua) {
		kolorea = pKolorea;
		pisua = pPisua;
	}
	
	//metodoak
	
	public void saltoEgin(){
		
	}
	
	public void jan(){
		
	}
	
}
```

Objektu baten erreferentzia nahi bada, objektua sortu beharko da new eragilearen bitartez(instantziazioa):

New objektuak sortzeko eragilea da, eta hainbat programazio lengoaietan erabiltzen da, hala nola, Java, C, JavaScript...

new eragiketak objektu berri bat sortuko du, objektuarentzat existitzen diren eraikitzailearen bati deituz.

Hurrengo formatua jarraitzen du:

  = new []

: Katua

: erakusle batek objektu bati apuntatzen dio. Edozein hitz edo karaktere izan daiteke.

: Klase izena eta eraikitzailearen izena berdina da. Honen funtzioa da objektua sortzean defektuz balore eta nahi diren metodoak hasieratzea.

[]: Klase barruan atributuak baloreak jasotzeko, objektua sortzean.

Adibidez:
```java
Katua a = new Katua("Beltza", 10.5);
a.saltoEgin();
```

## Sintaxia 
```java
(deskribatzaileak)class  KlaseIzena{
	//atributak
	
	private String kolorea;
	(deskribatzailea)double pisua;
	
	//eraikitzailea
	public Katua(String pKolorea, double pPisua) {
		kolorea = pKolorea;
		pisua = pPisua;
	}
	
	//metodoak
	
	(deskribatzailea) void saltoEgin(){
		
	}
	
	public void jan(){
		
	}
	
}
```
Deskribatzaileak edo atzipen-motak:

* **private** : Murriztatzailena da, atzipena bakarrik klase beratik.
* **public** : Metodo bat beste klase batzuetatik deitua izan daitekeela esan nahi du, edo klasea, klase horren hierarkiatik kanpoko beste klase batzuek erabil dezaketela.
* **protected** : Atzipena bakarrik herentziaz sortutako ume klaseetatik.

## Atributuak, metodoak eta eraikitzaileak 
### Atributuak 
Atributu bat objektu baten propietate bat definitzen duen espezifikazioa da. Hainbat motako atributuak egon daitezke, hala nola, *String*, *Integer*, *double*....

## Erreferentziak 
## Ikus, gainera 
* Objektuak 
* Java lengoaia

## Kanpo estekak