Next Previous Contents

33. <4.2.3>: Klassevariabler

Klassevariabler er variabler som deles mellom alle instanser av klassen, samt instanser av subklasser. (tilsvarende static variabler i Java)

  1| class Bil
  2|   # En klassevariabel for å telle antall biler i verden.
  3|   @@num_biler = 0
  4|   def initialize
  5|     @@num_biler += 1
  6|   end
  7|   # En klassemetode (eller singleton-metode)
  8|   def Bil.antall
  9|     @@num_biler
 10|   end
 11| end
 12| 
 13| class Lada < Bil
 14| end
 15| 
 16| class Yugo < Bil
 17|   def krasj
 18|     # klassevariabelen er felles for alle instanser av Bil,
 19|     # samt instanser av subklasser av bil
 20|     @@num_biler -= 1
 21|   end
 22| end
 23| 
 24| lada = Lada.new
 25| yugo = Yugo.new
 26| puts Bil.antall #=> 2
 27| yugo.krasj
 28| puts Bil.antall #=> 1


Next Previous Contents