Какая вьюшка или фигнюшка - я говорю про простые задачи - понятные школьникам напр. есть точка (на плоскости) из 1 координатной четверти, есть точка из 3 -найти рассояние между ними... самый надежный способ определить два типа и функцию возвращающую расстояние.- здесь нет никакого полиморфизма или наследования... работаем только с переменными пользовательских типов. И уж коль скоро мы говорим о них (пременных пользовательских типов ) - почему бы не сделать их полноценными (коль скоро постулируем СТРОГУЮ ТИПИЗАЦИЮ). Да и еще я говорил про простой СОВРЕМЕННЫЙ ЯВУ..все -таки кое какой багаж за последние 40 лет накоплен...
Понятно. Хороший пример.
И чего Вам не хватает в просто RECORD-е для него? Тут действительно нет никакого ООП.
Процедуры, RECORD-ы.
Можно придумывать всякую лабуду, чтобы "оно себя вело надёжнее и как встроенное". Но будет ли это проще?
Я, например, не стал бы считать простой какую-то внешне простую "вкусность", про которую я не могу на пальцах и с парой рисунков на доске объяснить, как она работает (во что отображается в памяти, в какие действия машины и т.п.). Простое - это прозрачное в поведении.
С одной стороны, идея независимости абстракций от реализации - правильная идея. Но на самом деле эта независимость должна быть "как-бы-независимостью". Т.е. абстракции надо придумывать так, чтобы определены они были без связи с реализацией; но вот хорошее объяснение и изучение всегда должно показывать, а как это внутри устроено. Нельзя использовать то, об устройстве чего нет представления (во что и как это ниже отображается, примерно).