Vi är ett it-konsultföretag som främst sysslar med webbutveckling i Ruby on Rails

Plasthuset i hoting Företagarna Hoting Billiga klistermärken, Dekaler, Banderoller Jobbhuset.se Restaurang Aspentos i Uppsala Mojes Grill i Hoting Corner Food house Pizzeria La Mavie Åre

Introduktion till Ruby klasser

Ruby klasser

I Ruby börjar en klass med nyckelordet class och slutar med en matchande end.

 

Detta är en simpel klass

 

class MinKlass

end

 

Så här skulle jag skapa ett användbart objekt från det:

 

objekt = MinKlass.new

För att göra MinKlass mer användbart måste jag ge det en metod eller två.

I detta exempel har jag lagt till en metod som kallas sag_hej:

 

class MinKlass

def sag_hej

puts "Hej"

end

end

Nu när jag skapar en MinKlass objekt kan jag kalla denna metod för att få det att säga “Hej”:

 

objekt = MinKlass.new

objekt.sag_hej

När vi kör programmet blir utskriften:

 

$> ruby minklass.rb

Hej

$>

 

Instans Variabler

Instans variabler skapas för varje klass instans och är bara tillgängliga i den instansen eller genom de metoder som föreskrivs i denna instans. Instans variabler nås med hjälp av @-operatorn.

 

class MinKlass

  @ett = 1

  def gor_nagot

    @one = 2

  end

 

  def utskrift

    puts @one

  end

end

 

instans = MinKlass.new

instans.utskrift

instans.gor_nagot

instans.utskrift

När vi kör programmet blir utskriften:

 

$> ruby instans_var.rb

nil

2

$>


Klass variabler

En klassvariabel anges med @@-operatorn.Dessa variabler är förknippade med klassen snarare än ett objekt instans av klassen och är samma för alla objekt instanser.

 

class MinKlass

  @@klass_variabel = 1

  def lagg_till_ett

    @@klass_variabel = @@klass_variabel + 1

  end

 

  def resultat

    @@klass_variabel

  end

end

instansEtt = MinKlass.new

instansTva = MinKlass.new

puts instansEtt.resultat

instansEtt.lagg_till_ett

puts instansEtt.resultat

puts instansTva.resultat

Utskrifen:

 

$> ruby klass_variabel.rb

1

2

2

$>

 

Klassmetoder

Klassmetoder definieras genom att ange klassnamnet och en punkt före metodnamnet.

 

class MinKlass

   def MinKlass.min_metod

end

end

Ett annat sätt att skapa en klassmetod är att använda nyckelordet self.

 

class MinKlass

def self.min_metod

end

end

Nu kan du kalla min_metod via klassen antingen MinKlass.min_metod eller MinKlass::min_metod.

 

class MinKlass

  def MinKlass.min_metod

    puts 'Hej Hej'

  end

end

 

MinKlass.min_metod

Utskriften blir:

 

$> ruby klassmetod.rb

Hej Hej

$>





Skriv ny kommentar








Din kommentar blir synlig först efter att en moderator har godkänt den.