Ruby Academy · Lektion

Arv och polymorfism

Utforska hur Ruby möjliggör kodåteranvändning genom klassarv och överskuggning av metoder.

Lektion 3 av 410 steg

Arv och polymorfism är en gratis lektion i Ruby Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Ruby Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Utöka klasser i Ruby

Arv och polymorfism

Med arv kan en klass ärva beteende från en annan klass.

Polymorfism gör det möjligt för olika klasser att svara på samma metod på olika sätt.

I den här lektionen får du lära dig att använda arv och polymorfism i Ruby.

Arv och polymorfism — illustration 1

Använda arv

En underklass ärver beteende från en superklass med hjälp av <.

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
end

dog = Dog.new
dog.speak

Använda super

Nyckelordet super anropar en metod från superklassen.

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    super
    puts 'Dog barks'
  end
end

dog = Dog.new
dog.speak

Åsidosätta metoder

En underklass kan åsidosätta en metod från superklassen.

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    puts 'Dog barks'
  end
end

dog = Dog.new
dog.speak

Förstå polymorfism

Olika klasser kan implementera samma metod på olika sätt.

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    puts 'Dog barks'
  end
end

class Cat < Animal
  def speak
    puts 'Cat meows'
  end
end

dog = Dog.new
dog.speak

cat = Cat.new
cat.speak

Behålla superklassens metoder

En underklass kan utöka en metod i stället för att ersätta den helt.

class Animal
  def speak
    puts 'Animal sound'
  end
end

class Bird < Animal
  def speak
    super
    puts 'Bird chirps'
  end
end

bird = Bird.new
bird.speak

Utöka metoder med öppna klasser

Ruby gör det möjligt att öppna klasser igen och ändra deras metoder dynamiskt.

class String
  def shout
    self.upcase + '!!!'
  end
end

puts 'hello'.shout

Avslutande exempel på åsidosättning

Åsidosätt metoder för att ge underklasser ett specifikt beteende.

class Vehicle
  def move
    puts 'Vehicle is moving'
  end
end

class Car < Vehicle
  def move
    puts 'Car is driving'
  end
end

car = Car.new
car.move

Grattis!

Du har lärt dig att använda arv och polymorfism i Ruby.

Härnäst ska du utforska mixins och moduler.

Arv och polymorfism — illustration 10
Gratis att börja

Lär dig Ruby med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
29
Lektioner
109

Vanliga frågor

Är lektionen ”Arv och polymorfism” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Ruby Academy, inklusive ”Arv och polymorfism”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Arv och polymorfism”?

Utforska hur Ruby möjliggör kodåteranvändning genom klassarv och överskuggning av metoder. Ni övar på Ruby Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Ruby Academy?

Du behöver inga förkunskaper. Utbildningen i Ruby Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Arv och polymorfism”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Ruby Academy-lektionen?

Ja. Varje Ruby Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Klasser och objekt
  2. Instansvariabler och metoder
  3. Arv och polymorfism
  4. Mixins och moduler
← Tillbaka till Ruby Academy