Next Previous Contents

33. <4.2.3>: Klassevariabler

Klassevariabler (tilsvarende static variable i Java) er variabler som deles mellom alle instanser av klassen, samt instanser av sub-klasser.

  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|   def Bil.antall
  8|     @@num_biler
  9|   end
 10| end
 11| 
 12| class Lada < Bil
 13| end
 14| 
 15| class Yugo < Bil
 16|   def krasj
 17|     # klassevariabelen er felles for alle instanser av Bil,
 18|     # samt instanser av subklasser av bil
 19|     @@num_biler -= 1
 20|   end
 21| end
 22| 
 23| lada = Lada.new
 24| yugo = Yugo.new
 25| puts Bil.antall #=> 2
 26| 
 27| yugo.krasj
 28| puts Bil.antall #=> 1


Next Previous Contents