К основным свойствам инкапсуляции относятся следующие возможности:
Как нам уже известно, важная позитивная особенность языка программирования SML заключается в том, что в нем поддерживается так называемая полиморфная типизация.
В объектно-ориентированном программировании под полиморфизмом понимается возможность оперировать объектами, не обладая точным знанием их типов.
Рассмотрим пример простейшей полиморфной функции:
void Poly(object o) { Console.WriteLine(o.ToString()); }
Данная функция реализует отображение на экране объекта (метод Console.WriteLine) с предварительным преобразованием его к строковому типу (метод ToString()) .
Все приведенные ниже варианты вызова функции:
Poly(25); Poly("John Smith"); Poly(3.141592536m); Poly(new Point(12,45));
успешно пройдут компиляцию и завершатся выдачей корректного результата.
Для более подробного самостоятельного ознакомления с тематикой лекции рекомендуется следующий список источников: [22, 38, 51, 53, 61, 63, 75].