У меня есть две моделей данных, которые представлены следующие классы:Могу ли я применить здесь Лиск принцип замещения
1) ImagesSet - это объект, который владеет 2DImage «S, каждый 2DImage имеет свой собственный позиция (начало координат (3DPoint), x-, y-оси (3DVector) и размерность по осям x и y (в пикселях)), но тот же размер пикселя (например, в мм), угол между x и y оси (90 градусов)
Этот объект имеет следующие методы (в псевдокоде):
- AddImage (2DImage);
- RemoveImage (ImageIndex);
- номер GetNumberOfImages();
- 2DImage Get2DImage (ImageIndex);
2) 3Dimage - An объекты, который похож на первый, но со следующими ограничениями: он может хранить изображения 2D только с той же Х-, у-оси и размеры вдоль осей х и у.
Правильно ли в данном случае для получения 3Dimage из ImagesSet? С моей точки зрения 3DImage «есть» ImagesSet (но с малыми ограничениями) Могу ли я применить здесь принцип замещения Лискова?
В этом случае, если мы пытаемся добавить изображение с помощью другого x, то оси y - метод AddImage либо генерирует исключение, либо возвращает ошибку.
Спасибо заранее, Сергей
BTW, эта проблема возникает только для изменяемого интерфейса Circle и Ellipse. Если у нас есть только методы чтения в их интерфейсах, это нормально, чтобы получить круг из эллипса (если это полезно). – maxim1000