Hem E-böcker Specialeffekter och spelutveckling i Java Funktioner, klasser och pekare

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