0Pricing
Ruby Academy · Lekcja

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.

Dziedziczenie i polimorfizm — ilustracja 1

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.speak

Korzystanie 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.speak

Przesł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.speak

Zrozumienie 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.speak

Zachowywanie 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.speak

Rozszerzanie 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'.shout

Koń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.move

Gratulacje!

Gratulacje!

Nauczyłeś się korzystać z dziedziczenia i polimorfizmu w języku Ruby.

Następnie poznasz mixiny i moduły.

Dziedziczenie i polimorfizm — ilustracja 10

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

  1. Klasy i obiekty
  2. Zmienne i metody instancji
  3. Dziedziczenie i polimorfizm
  4. Miksy i moduły
← Powrót do Ruby Academy