Correct. Any abstract method must be defined by the child class, any non-abstract method will be automatically included in the child class and will be usable by it. A simpler example of an abstract class in action is Cadmium’s Tokenizer class.
abstract class Tokenizer
abstract def tokenize(string : String) : Array(String)
if arr == ""
if arr[-1] == ""
As you can see it defines one abstract method
tokenize which all tokenizers have to include. It also defines the method
trim which all tokenizers will have by default.
Dog is one of those child classes.