1| # Fortsetter der vi slapp... 2| require 'klasse2.rb' 3| 4| # Arv - alle studenter er en submengde av alle personer 5| class Student < Person 6| def initialize( etternavn, fornavn, alder = 0, 7| studiested = "NTNU" ) 8| # kall super-klassens versjon av metoden 9| super( etternavn, fornavn, alder ) 10| @studiested = studiested 11| @karakterer = [] # Eventuelt Array.new 12| end 13| 14| # redefinerer Person#to_s metoden 15| def to_s 16| "#{@etternavn}, #{@fornavn} - studerer ved #{@studiested}." 17| end 18| 19| def ta_eksamen( karakter ) 20| @karakterer.push karakter 21| end 22| 23| def karaktersnitt 24| sum = 0 25| @karakterer.each{ |karakter| 26| sum += karakter 27| } 28| sum.to_f / @karakterer.size 29| end 30| 31| end 32| 33| if __FILE__ == $0 # Kun når vi kjører denne filen: 34| flinkis = Student.new("Einstein", "Al", 128, "Mensa") 35| flinkis.ta_eksamen( 1.0 ) 36| flinkis.ta_eksamen( 2.0 ) 37| puts flinkis #=> "Einstein, Al - studerer ved Mensa." 38| puts flinkis.karaktersnitt #=> 1.5 39| end |
et alias for superklassens versjon av den metoden vi er i nå.