Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Klassevariable- og metoder Funktionalitet på klasseniveau.

Lignende præsentationer


Præsentationer af emnet: "Klassevariable- og metoder Funktionalitet på klasseniveau."— Præsentationens transcript:

1 Klassevariable- og metoder Funktionalitet på klasseniveau

2 DAIMIIntroducerende Objektorienteret Programmering10B.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 DAIMIIntroducerende Objektorienteret Programmering10B.3 Renteberegning  Lad os udvide Account så den kan foretage rentetilskrivning Account balance:int interest: double withdraw() deposit() addInterest() public class Account { … double interestRate = 0,75; // percentage … public void addInterest() { balance += balance * interest / 100.0; }

4 DAIMIIntroducerende Objektorienteret Programmering10B.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 derimod ønsker er, at udtale os om rentesatsen for alle objekter af klassen Account som helhed.

5 DAIMIIntroducerende Objektorienteret Programmering10B.5 Klassevariable og -metoder  Java tillader at erklære variable og metoder på klasseniveau, dvs. disse er fælles for alle objekter af den givne klasse.  En variabel eller metode erklæres til at være på klasseniveau vha. static.  De “normale” variable og metoder benævnes instansvariable og instansmetoder.

6 DAIMIIntroducerende Objektorienteret Programmering10B.6 Eksempel class Account { … static double interestRate = 0.75;... public static void changeInterestRate( double newValue ) { interestRate = newValue; } Brugseksempel: Account.changeInterestRate( 10.0 ); ioop.addInterest(); henriksAccount.addInterest(); michaelsAccount.addInterest(); System.out.println(ioop.balance);

7 DAIMIIntroducerende Objektorienteret Programmering10B.7 Regler  Klassemetoder kan kun tilgå klassevariable og andre klassemetoder.  Klassemetoder/variable tilgås via klassens eller et objekts navn:  Account.changeInterestRate( 10.0 );  Math.abs( -32 ); System.out.println( … );  eller  Account a = new Account( … );  a.changeInterestRate(10.0 );


Download ppt "Klassevariable- og metoder Funktionalitet på klasseniveau."

Lignende præsentationer


Annoncer fra Google