Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afEdvard Ravn Redigeret for ca. et år siden
1
Klassevariable- og metoder Tilstand og opførsel på klasseniveau
2
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.2 Forholdet objekt/klasse Af en given klasse kan der instantieres vilkårligt mange objekter Account Customer name = “Michael” balance = 230 owner = balance = 90000 owner =
3
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.3 Renteberegning Vi udvider Account så den kan foretage rentetilskrivning Account balance:int interest: double withdraw() deposit() addInterest() public class Account { // percentage double interestRate = 0,75; public void addInterest() { balance += interest/100.0; }
4
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.4 Ændring af rentesats Account balance = 230 interestRate = 0,75 owner = balance = 90000 interestRate = 0.75 owner = Problemet er at rentesatsen er gemt i hver eneste objekt. Hvad vi ønsker er, at kunne ændre rentesatsen for alle objekter af klassen Account som helhed.
5
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.5 Klassevariable og -metoder Java tillader at erklære variabler og metoder på klasseniveau, dvs. disse er delt mellem alle objekter af den givne klasse. (Det er klassens, ikke objektets variable/metoder.) En variabel eller metode erklæres til at være på klasseniveau vha. static (af historiske årsager, suk…) De “normale” variabler og metoder benævnes instansvariable og instansmetoder.
6
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.6 Eksempel class Account {... static double interestRate = 0.75;... public static void changeInterestRate( double newValue ) { interestRate = newValue; } Brugseksempel: Account.changeInterestRate( 10.0 ); beatles.addInterest(); johnsAccount.addInterest(); paulsAccount.addInterest(); System.out.println(beatles.balance);
7
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.7 Regler Klassemetoder kan kun tilgå klassevariable og andre klassemetoder. [Hvorfor er dette en oplagt regel???]
8
Michael E. Caspersen, 2000Introducerende objektorienteret programmeringKlasseopførsel.8 Tilgang Klassemetoder/variable tilgås via klassens eller et objekts navn: Account.changeInterestRate( 10.0 ); Math.abs(-32); System.out.println(...); Account a = new Account(...); a.changeInterestRate(10.0 );
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.