Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  The Geometry Class Hierarchy

13.4.2.1 几何类层次结构

几何类定义了以下层次结构:

  • Geometry(不可实例化)

    • Point(可实例化)

    • Curve(不可实例化)

      • LineString(可实例化)

        • Line

        • LinearRing

    • Surface(不可实例化)

      • Polygon(可实例化)

    • GeometryCollection(可实例化)

      • MultiPoint(可实例化)

      • MultiCurve(不可实例化)

        • MultiLineString(可实例化)

      • MultiSurface(不可实例化)

        • MultiPolygon(可实例化)

无法在不可实例化类中创建对象。在可实例化类中可以创建对象。所有类都具有属性,而可实例化类也可能具有断言(定义有效类实例的规则)。

Geometry是基类。它是一个抽象类。基类Geometry的可实例化子类仅限于零维、一维和二维几何对象,它们存在于二维坐标空间中。所有可实例化几何类都定义为使得有效的几何实例是拓扑闭合的(即所有定义的几何都包括其边界)。

基类Geometry有子类PointCurveSurfaceGeometryCollection

  • Point表示零维对象。

  • Curve表示一维对象,并有子类LineString,其子类包括LineLinearRing

  • Surface是为二维对象设计的,并有子类Polygon

  • GeometryCollection具有专门的零维、一维和二维集合类,分别命名为MultiPointMultiLineStringMultiPolygon,用于建模对应于PointsLineStringsPolygons的几何体的集合。MultiCurveMultiSurface被引入作为抽象超类,以泛化集合接口以处理CurvesSurfaces

GeometryCurveSurfaceMultiCurveMultiSurface被定义为不可实例化类。它们定义了一组公共方法供其子类使用,并且是为了可扩展性而引入的。

PointLineStringPolygonGeometryCollectionMultiPointMultiLineStringMultiPolygon是可实例化类。