[Павлов Д.С.] <Математический алгоритм построения
геологических разрезов> [оглавление]
Математическим алгоритмом называется последовательность действий
(операций), осуществляемых над определенными числовыми величинами. Как было
сказано в начале этой главы, такими величинами являются координаты точек
(X,Y,Z,T). Очевидно, что эти базовые элементы должны быть сгруппированы по
принадлежности к тем или иным объектам, участвующим в построении. В связи с
этим автор усматривает необходимость краткого введения в основы
объектно-ориентированного программирования.
В теории объектно-ориентированного программирования существуют
такие абстракции, как классы. Классы представляют собой совокупность данных и
методов, моделирующую какой-либо реальный объект или сущность. Проиллюстрируем
эту схему на примере рассматриваемой темы. Возьмем стратиграфические границы,
изображенные на геологической карте. Все эти линии относятся к одному и тому же
классу, условно назовем его <граница>. То есть каждая из них содержит данные о
координатах точек, через которые она проходит, о своем цвете, толщине, каждая
отделяет j-тый слой от j+1-ого из множества представленных на карте слоев (J).
Но эти данные специфичны (отличаются друг от друга по значению) для разных
границ. Каждая граница, таким образом, является экземпляром общего для всего их
множества класса <граница>. Иными словами, класс определяет логическую
структуру моделируемой сущности, а экземпляр класса образуется путем присвоения
данным класса конкретных значений.
Одним из главных постулатов объектно-ориентированного
программирования гласит, что данные должны быть инкапсулированы, то есть,
защищены от изменения напрямую, а все взаимодействие с ними следует
осуществлять только через методы класса. Возвращаясь к нашему примеру, чтобы
получить данные о положении точек какого-либо экземпляра класса <граница>, в
классе должен быть предусмотрен метод, который может называться
<получить_массив_координат>. Вызывая его для экземпляра класса (т.е. для
какой-то конкретной границы на карте), мы получим доступ к координатам точек
именно этой линии. Также в классе <граница> может быть реализован метод для
вычисления длины линии, или какие-то другие полезные функции, осуществляющие
какие-либо математические операции над данными экземпляра класса.
Автор надеется, что суть объектного подхода более или менее
ясна. Рассмотрим теперь имеющиеся в наличии данные и определим необходимые нам
объекты, или, выражаясь в уже знакомых терминах объектно-ориентированного
программирования, - классы. В первую очередь нам понадобятся упомянутые уже
стратиграфические границы и горизонтали, поскольку это минимальный набор
данных, имеющихся на геологической карте, и именно эти объекты должны лечь в
основу нахождения начального множества стратоизогипс внутри каждого
структурного домена.
[назад] [оглавление] [далее]
|