Ruby Academy · Lektion

Mixins og moduler

Brug moduler og mixins til at udvide klassers funktionalitet uden traditionel nedarvning

Lektion 4 af 410 trin

Mixins og moduler er en gratis Ruby Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Ruby Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ruby Academy-kurset indeholder 4 lektioner i alt.

Dele kode med moduler

Mixins og moduler

Moduler gør det muligt at organisere og genbruge kode uden traditionel nedarvning.

Mixins gør det muligt for flere klasser at dele funktionalitet uden at være direkte relaterede.

I denne lektion lærer du at bruge moduler og mixins i Ruby.

Mixins og moduler — illustration 1

Definere et modul

Moduler defineres ved hjælp af nøgleordet module og kan ikke instantieres.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

Inkludere et modul

Brug include til at tilføje modulets metoder som instansmetoder.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

class Person
  include Greetings
end

person1 = Person.new
person1.say_hello

Bruge extend

extend tilføjer modulets metoder som klassemetoder.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

class Person
  extend Greetings
end

Person.say_hello

Bruge flere moduler

En klasse kan inkludere flere moduler til forskellige funktioner.

module Walkable
  def walk
    puts 'Walking...'
  end
end

module Talkable
  def talk
    puts 'Talking...'
  end
end

class Person
  include Walkable
  include Talkable
end

person1 = Person.new
person1.walk
person1.talk

Bruge konstanter i moduler

Moduler kan gemme konstanter, der kan tilgås ved hjælp af ::.

module MathOperations
  PI = 3.14
end

puts MathOperations::PI

Indkapsle metoder i moduler

Moduler gør det muligt at definere hjælpemetoder, der kan bruges på tværs af forskellige klasser.

module Formatter
  def format_text(text)
    text.upcase
  end
end

class Document
  include Formatter
end

doc = Document.new
puts doc.format_text('hello')

Bruge self i moduler

Metoder inde i et modul kan defineres ved hjælp af self, så de bliver direkte tilgængelige.

module Helper
  def self.greet
    puts 'Hello from a module!'
  end
end

Helper.greet

Tillykke!

Du har lært at bruge mixins og moduler i Ruby.

Derefter skal du udforske arbejde med filer samt ind- og uddataoperationer.

Mixins og moduler — illustration 10
Gratis at komme i gang

Lær Ruby med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
29
Lektioner
109

Ofte stillede spørgsmål

Er lektionen “Mixins og moduler” gratis?

Ja — alle 3 lektioner i læringssporet Ruby Academy, inklusive “Mixins og moduler”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Ruby Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Mixins og moduler”?

Brug moduler og mixins til at udvide klassers funktionalitet uden traditionel nedarvning Du øver dig i Ruby Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Ruby Academy?

Der kræves ingen tidligere erfaring. Ruby Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Mixins og moduler”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Ruby Academy-lektion?

Ja. Alle Ruby Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Klasser og objekter
  2. Instansvariabler og metoder
  3. Nedarvning og polymorfi
  4. Mixins og moduler
← Tilbage til Ruby Academy