Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Klassevariable- og metoder Tilstand og opførsel på klasseniveau.

Lignende præsentationer


Præsentationer af emnet: "Klassevariable- og metoder Tilstand og opførsel på klasseniveau."— Præsentationens transcript:

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


Download ppt "Klassevariable- og metoder Tilstand og opførsel på klasseniveau."

Lignende præsentationer


Annoncer fra Google