Extending existing UDT

<< Click to Display Table of Contents >>

Navigation:  ThinBASIC Core Language > Data types and variables > TYPE (or UDT User Defined Types) > UDT (User Defined Types) >

Extending existing UDT

 

Extending existing UDT

 

Once designing a new type, you don't have to start from a scratch.

 

Imagine our Point2D type, defined in the previous chapters.

 

It has two members, x and y.

 

TYPE Point2D
  x AS SINGLE
  y AS SINGLE
END TYPE

 

Once you will need to create 3D point, the obvious approach would be to do it this way:

 

TYPE Point3D
  x AS SINGLE
  y AS SINGLE
  z AS SINGLE
END TYPE

 

The advantage of this copy-paste approach is that it is straightforward, but once you would add something to Point2D, it would need to be promoted to Point3D manually.

 

Let's have a look at two different approaches to create new type based on existing one.