Научился: Использовать наследование.
Наследование это способ выделения общих функций для удобства использования в однотипных классах.
В нашем случае классы Cat и Dog наследую общие свойства и методы у класса Animal. =)
Научился: Повторил пройденное Наследование (extends) это создание класса на основе другого с добавлением своих особенностей, на пример: кошки тоже бывают разные, чёрные или белые, поэтому сам класс кошки можно тоже унаследовать при описании классов каждого из разновидностей кошек (сиамские, персидские, русская голубая...), но у каждой из них есть общее, 4 лапы, 2 уха и т.д.