0Pricing
Ruby Academy · Lezione

Ereditarietà e polimorfismo

Esplori come Ruby consenta il riutilizzo del codice tramite l'ereditarietà delle classi e l'override dei metodi.

Ereditarietà e polimorfismo è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.

Estendere le classi in Ruby

Ereditarietà e polimorfismo

L'ereditarietà consente a una classe di ereditare il comportamento da un'altra classe.

Il polimorfismo consente a classi diverse di rispondere allo stesso metodo in modi differenti.

In questa lezione imparerà a utilizzare l'ereditarietà e il polimorfismo in Ruby.

Ereditarietà e polimorfismo — illustrazione 1

Utilizzo dell'ereditarietà

Utilizzo dell'ereditarietà

Una sottoclasse eredita il comportamento da una superclasse utilizzando <.

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

class Dog < Animal
end

dog = Dog.new
dog.speak

Utilizzo di super

Utilizzo di super

La parola chiave super chiama un metodo della superclasse.

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

Eseguire l'override dei metodi

Eseguire l'override dei metodi

Una sottoclasse può eseguire l'override di un metodo della superclasse.

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

Comprendere il polimorfismo

Comprendere il polimorfismo

Classi diverse possono implementare lo stesso metodo in modi differenti.

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

Mantenere i metodi della superclasse

Mantenere i metodi della superclasse

Una sottoclasse può estendere un metodo invece di sostituirlo completamente.

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

Estendere i metodi con le classi aperte

Estendere i metodi con le classi aperte

Ruby consente di riaprire le classi e modificarne dinamicamente i metodi.

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

puts 'hello'.shout

Esempio finale di override

Esempio finale di override

Esegua l'override dei metodi per fornire un comportamento specifico alle sottoclassi.

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

Congratulazioni!

Congratulazioni!

Ha imparato a utilizzare l'ereditarietà e il polimorfismo in Ruby.

Successivamente, esplorerà i mix-in e i moduli.

Ereditarietà e polimorfismo — illustrazione 10

Domande Frequenti

La lezione «Ereditarietà e polimorfismo» è gratuita?

Sì — il testo completo di «Ereditarietà e polimorfismo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.

Cosa imparerò in «Ereditarietà e polimorfismo»?

Esplori come Ruby consenta il riutilizzo del codice tramite l'ereditarietà delle classi e l'override dei metodi. Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ruby Academy?

Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Ereditarietà e polimorfismo»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ruby Academy?

Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Classi e oggetti
  2. Variabili e metodi di istanza
  3. Ereditarietà e polimorfismo
  4. Mixin e moduli
← Torna a Ruby Academy