User-defined and composite types
In Julia, as a developer, you can define your own types to structure data used in applications. For example, if you need to represent points in a three-dimensional space, you can define a type Point
as follows:
# see the code in Chapter 6\user_defined.jl:
type Point
x::Float64
y::Float64
z::Float64
end
The type Point
is a concrete type, objects of this type can be created as p1 = Point(2, 4, 1.3)
, and it has no subtypes: typeof(p1)
returns Point (constructor with 2 methods)
, subtypes(Point)
returns 0-element Array{Any,1}
.
Such a user-defined type is composed of a set of named fields with an optional type annotation; that's why it is a composite type, and its type is also DataType
. If the type of a named field is not ...
Get Julia: High Performance Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.