Klassen

class Person
  WEIBLICH = 1
  MAENNLICH = 2
  @@anzPersonen = 0

  def initialize(name, alter, geschlecht, beruf)
    @name = name
    @alter = alter
    @geschlecht = geschlecht
    @beruf = beruf
    @@anzPersonen += 1
  end

  def name
    @name
  end

  def name=(neuerName)
    @name=neuerName
  end

  attr_reader :alter
  attr_writer :alter

  attr_accessor :geschlecht, :beruf

  def to_s
    "#{@name} (#{@alter}): #{beruf}"
  end

  def Person.anzahl
    @@anzPersonen
  end
end

hansjoerg = Person.new("Hans Jörg", 33, Person::MAENNLICH, "Informatiker")
eva = Person.new("Eva", 27, Person::WEIBLICH, "Studentin")

puts hansjoerg
puts eva
puts "Anzahl Personen: #{Person.anzahl}"
hansjoerg.name = "Hans"
puts hansjoerg

Ergebnis:
Hans Jörg (33): Informatiker
Eva (27): Studentin
Anzahl Personen: 2
Hans (33): Informatiker

vererbung.rb