Arv och polymorfism
Utforska hur Ruby möjliggör kodåteranvändning genom klassarv och överskuggning av metoder.
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.

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.speakAnvä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.speakFö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.speakBehå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.speakUtö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'.shoutAvslutande 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.moveGrattis!
Du har lärt dig att använda arv och polymorfism i Ruby.
Härnäst ska du utforska mixins och moduler.

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
- Klasser och objekt
- Instansvariabler och metoder
- Arv och polymorfism
- Mixins och moduler