Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Klassevariabler- og metoder Funktionalitet på klasseniveau.

Liknende presentasjoner


Presentasjon om: "Klassevariabler- og metoder Funktionalitet på klasseniveau."— Utskrift av presentasjonen:

1 Klassevariabler- og metoder Funktionalitet på klasseniveau

2 DAIMI  Henrik Bærbak, 2000 Introducerende 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 DAIMI  Henrik Bærbak, 2000 Introducerende 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 DAIMI  Henrik Bærbak, 2000 Introducerende 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 DAIMI  Henrik Bærbak, 2000 Introducerende 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 DAIMI  Henrik Bærbak, 2000 Introducerende 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 DAIMI  Henrik Bærbak, 2000 Introducerende 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 );


Laste ned ppt "Klassevariabler- og metoder Funktionalitet på klasseniveau."

Liknende presentasjoner


Annonser fra Google