Dziedziczenie i polimorfizm
Proszę poznać sposoby ponownego wykorzystywania kodu w Ruby dzięki dziedziczeniu klas i przesłanianiu metod.
Dziedziczenie i polimorfizm to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Rozszerzanie klas w Ruby
Dziedziczenie i polimorfizm
Dziedziczenie umożliwia klasie przejęcie zachowania z innej klasy.
Polimorfizm umożliwia różnym klasom różne reagowanie na tę samą metodę.
W tej lekcji nauczysz się korzystać z dziedziczenia i polimorfizmu w języku Ruby.

Korzystanie z dziedziczenia
Korzystanie z dziedziczenia
Podklasa dziedziczy zachowanie z klasy nadrzędnej za pomocą <.
class Animal
def speak
puts 'Animal makes a sound'
end
end
class Dog < Animal
end
dog = Dog.new
dog.speakKorzystanie z super
Korzystanie z super
Słowo kluczowe super wywołuje metodę z klasy nadrzędnej.
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.speakPrzesłanianie metod
Przesłanianie metod
Podklasa może przesłonić metodę z klasy nadrzędnej.
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.speakZrozumienie polimorfizmu
Zrozumienie polimorfizmu
Różne klasy mogą implementować tę samą metodę na różne sposoby.
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.speakZachowywanie metod klasy nadrzędnej
Zachowywanie metod klasy nadrzędnej
Podklasa może rozszerzyć metodę zamiast całkowicie ją zastępować.
class Animal
def speak
puts 'Animal sound'
end
end
class Bird < Animal
def speak
super
puts 'Bird chirps'
end
end
bird = Bird.new
bird.speakRozszerzanie metod za pomocą otwartych klas
Rozszerzanie metod za pomocą otwartych klas
Ruby umożliwia ponowne otwieranie klas i dynamiczne modyfikowanie ich metod.
class String
def shout
self.upcase + '!!!'
end
end
puts 'hello'.shoutKońcowy przykład przesłaniania
Końcowy przykład przesłaniania
Przesłaniaj metody, aby zapewnić podklasom określone zachowanie.
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.moveGratulacje!
Gratulacje!
Nauczyłeś się korzystać z dziedziczenia i polimorfizmu w języku Ruby.
Następnie poznasz mixiny i moduły.

Często zadawane pytania
Czy lekcja „Dziedziczenie i polimorfizm” jest bezpłatna?
Tak — pełny tekst „Dziedziczenie i polimorfizm” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dziedziczenie i polimorfizm”?
Proszę poznać sposoby ponownego wykorzystywania kodu w Ruby dzięki dziedziczeniu klas i przesłanianiu metod. Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?
Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Dziedziczenie i polimorfizm”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?
Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Klasy i obiekty
- Zmienne i metody instancji
- Dziedziczenie i polimorfizm
- Miksy i moduły