Metoddeklarationer
Lektion 5 Lektion 7Gå tillbaka till valfri tidigare övning som använder indata och utdata och skriv om din lösning så att den har en egen metod som utför samtliga beräkningar. Inuti Main ska programmet enbart anropa metoden ett par gånger, med olika kombinationer av indata varje gång. Gör detta för en eller ett par av de tidigare övningarna. Övning 4 från lektion 1 är ett passande exempel, men de flesta andra övningarna är också lämpliga.
Exempelvis skulle vi kunna skriva om övning 2 från lektion 2 (betygsätta en tenta) på följande sätt:
Skriv ett program som läser in en temperatur (i grader Celsius) och en ljudnivå (i decibel). Skriv sedan följande metoder som ger information kring dessa värden:
IsWarm, som returnerar true om temperaturen är mellan 18 och 26.IsQuiet, som returnerar true om ljudnivån är 45 decibel eller lägre.IsHabitable, som returnerar true om temperaturen är mellan 18 och 26 och ljudnivån är 45 decibel eller lägre.När ditt program är klart ska man kunna använda metoderna på exempelvis följande sätt:
Skriv en klass för personer med följande information: förnamn, efternamn, ålder och inkomst (i kronor per år). Skriv sedan följande metoder som arbetar med personer:
FullName, som returnerar personens fullständiga namn som en enda sträng.CanMarry, som returnerar true om personen är 18 år eller äldre.FederalIncomeTaxRate, som returnerar skattesatsen för statlig inkomstskatt som personen behöver betala. Denna är 20 % för inkomster över 438 900, 25 % för inkomster över 638 500 och 0 % annars. (Metoden ska alltså returnera antingen 0.2, 0.25 eller 0.)När ditt program är klart ska man kunna använda metoderna på exempelvis följande sätt:
Använd statiska metoder till detta, alltså av samma sort som vi har använt hittills. Instansmetoder börjar vi med nästa vecka.
Skriv en klass för personer med följande information: namn, ålder, förmögenhet (i kronor) och lön (i kronor per månad). Skriv sedan följande metoder som arbetar med personer:
PaySalary, som ökar personens förmögenhet med en månads löneutbetalning.WinLottery, som ökar personens förmögenhet 10 000 kronor.CelebrateBirthday, som ökar personens ålder med ett och ger personen 500 kronor i födelsedagspresent.ShowPerson, som skriver ut samtlig information om personen.När ditt program är klart ska man kunna använda metoderna på exempelvis följande sätt:
Om personen från början exempelvis heter Anders, är 25 år, har en förmögenhet på 50 000 kronor och har en lön på 20 000 kronor så ska detta program alltså skriva ut följande: 26-åriga Anders har en lön på 20000 kronor och 80500 kronor på banken.
Använd statiska metoder till detta, alltså av samma sort som vi har använt hittills. Instansmetoder börjar vi med nästa vecka.
Skriv ett program med en egen metod IsLarge som bedömer om ett värde är "stort" enligt godtyckliga kriterier. Denna metod ska fungera med flera typer av värden och kriterierna för dessa typer kan vara olika. Exempelvis skulle en sträng kunna anses stor om den innehåller fler än 50 tecken, medan ett heltal skulle kunna anses stort om det är större än 1000.
När ditt program är klart ska man kunna använda metoden på exempelvis följande sätt: