Herança é o núcleo de programação orientada a objeto . Estruturas de classe Edifício faz programas menores fácil, e grandes programas possível. Em Ruby , a herança é usado para criar um relacionamento entre classes que pode ser usado em seu código. Quando uma classe é um tipo de uma classe diferente , você pode usar a herança para fazer " classes filhas " . Por exemplo , você pode ter uma classe Shape. Fazendo classes filhas da classe Shape , como um círculo ou classe Square, significa um método que usa um argumento de forma também poderia levar um círculo como um tipo de forma. Instruções Use Herança em Ruby
1
Comece com uma base ( ou "super" ) classe. O exemplo a seguir usa uma classe chamada Micro-ondas : classe Microwavedef put_food_in ( comida ) = @ comida foodenddef take_food_outfood = @ @ comida comida = nilreturn foodenddef turn_onputs "Microwave está em " Def final turn_off puts " microondas é off" endend
2
Escrever uma declaração de classe herdada. Isso é o mesmo que uma declaração normal de aula, mas adiciona o " fim da classe TimedMicrowave
3
Adicionar novos métodos para a classe. A classe terá todos os métodos da superclasse, como . bem quaisquer métodos adicionais que você adicionar você também pode adicionar novas variáveis de membro e attr_ * acessores : classe TimedMicrowave attr_reader: set_timer timerdef (segundos) @ timer = secondsend def clear_timer @ timer = 0endend
4
substituir métodos na superclasse com novos métodos. uma vez que no exemplo anterior um temporizador foi adicionado ao micro-ondas, um método turn_on que liga automaticamente o microondas agora pode ser implementada. Basta definir um método com o mesmo nome do método na superclasse. quando ele é chamado, o método na classe filho vai substituir o método da superclasse Aqui, qualquer código que espera ver um objeto de microondas pode usar um objeto TimedMicrowave : . classe TimedMicrowave attr_reader : set_timer timerdef ( segundos) @ timer = secondsenddef clear_timer @ timer = 0enddef turn_onwhile @ temporizador > 0puts "Microwave está ligado. # { @ temporizador } segundo ( s) restante "@ temporizador - . = 1sleep 1end # Terminamos cozinhar , desligue o micro-ondas offturn_offendend