Specialeffekter
och spelutveckling i Java(TM) - Funktioner, klasser och pekare
av
Anibal Wainstein
1.3 Funktioner,
klasser och pekare
Observera att min genomgång av objektorientering är anpassad
till den praktiska nyttan jag ser i den. Därför kommer jag inte
att gå igenom strikt objektorienteringslära.
1.3.1 Funktioner
En funktion är ett stycke Java kod som exekveras endast när
man ropar på den. En fuktion kan även innehålla definitioner
av variabler som gäller inom funktionen. Dessa variabler kallas då
för lokala variabler. En funktion defineras genom funktionshuvudet
och två "måsvingar":
public void myfunction()
{
}
Ordet public indikerar att funktionen kan nås av andra klasser,
void indikerar att funktionen inte returnerar något värde
när den är klar och "myfunction" är namnet på funktionen.
Inom parenteserna () så kan man lägga in variabler som
användaren måste slänga med i anropet för att funktionen
skall fungera. Just denna funktion råkar inte ha några variabler.
Ett annat exempel :
public int yourFunction(int a, int b)
{
a+=b;
return a;
}
Return måste alltid finnas med om funktionen returnerar något.
I det här fallet kommer den att returnera ett heltal int som
är summan av variablerna "a" och "b". Funktionen anropas så
här:
//vi definerar variabeln "resultat"
int resultat;
//"resultat" kommer att
//innehålla siffran 3 efter anropet
resultat = yourFunction(1,2);
Ännu ett exempel:
private byte anotherFunction(int a)
{
return ((byte) a);
}
Private indikerar att funktionen endast kan användas
inom klassen där den har definerats och där den hör hemma.
I returndelen så kan man även ha beräkningar även om
det inte är så "snyggt" men man får en kompaktare
kod (mindre kod). I det här fallet så talkonverterar vi integern
"a" till en byte och returnerar den. Funktionen anropas så här:
//"a" kommer att innehålla talet 41
byte a = anotherFunction(1234217);
Detta är för övrigt samma sak som:
byte a;
a = anotherFunction(1234217);
När man konverterar en 32 bitars integer till en byte kommer bara
de sista 8 bitarna i talet att vara kvar (de 8 sista bitarna i 1234217
har värdet 41). Funktioner inom klasser kallas för "metoder"
och inom Java är det främst med metoder man arbetar med. Observera
att om man inte specifierar en returnationsobjekt så kallas funktionen
för en konstruktor. Den måste då heta exakt detsamma
som klassen och funktionen kommer att anropas när man först
skapar ett objekt av klassen. En konstruktor måste alltid vara deklarerad
som public:
public minklass(int a)
{
a++
}
reklam
Nästa sida
>>
|