Fortran 2003 introduced support for object oriented programming. This feature allows to take advantage of modern programming techniques. Derived types are defined with the following form:
TYPE [[, attr-list] :: ] name [(name-list)]
[PRIVATE statement or SEQUENCE statement]. . .
[component-definition]. . .
END TYPE [name]
- attr-list - a list of attribute specifiers
- name - the name of derived data type
- name-list - a list of type parameter names separated by commas
- def-stmts - one or more INTEGER declarations of the type parameters named in the name-list
- component-definition - one or more type declaration statements or procedure pointer statements defining the component of derived type
- procedure-part - a CONTAINS statement, optionally followed by a PRIVATE statement, and one or more procedure binding statements
integer :: color
end type shape