Неявное приведение (снизу вверх)
1 правило приведения классов (неявное приведение): когда 2 класса связаны отношением «является» (то есть оба принадлежат одной иерархии классов), то всегда можно безопасно сохранить производный тип в ссылке базового типа. Неявное приведение потому что не нужно явно приводить один класс к другому – это происходит автоматически. К примеру имеется у нас иерархия классов: Animals, Tiger. Создадим объект производного класса Tiger и сохраним этот объект в ссылке этого типа: То есть мы создали объект класса Tiger и при этом явно указываем тип создаваемого объекта. Мы можем сохранить объект класса Tiger в ссылке базового типа Animals: То есть мы объявили 3 переменных класса Tiger, однако разных типов, при чем этот тип идет от дочернего к базовому. Можно еще создать метод, в котором параметром будет переменная типа Animals (напоминаем – это абстрактный класс, то есть нельзя создавать его объекты), и при использовании параметра – мы можем получить доступ к свойствам и методам класса Animals: Теперь необходимо воспользоваться возможностями полиморфизма («один интерефейс – множество реализаций»):
|