Is Seed7 object oriented?
Yes, but object orientation is organized different compared to other object oriented languages. An example of an object oriented type is ‘file’. A ‘file’ describes references to values with some other type. A value of a ‘file’ can have one of the following types: null_file, external_file, echo_file, line_file, etc. Each of this ‘file’ value types acts differently to the same requests. For the type ‘file’ two kinds of functions are defined: • Functions which work for all files the same way. • Dynamic functions which are just an interface. At run time the corresponding function defined for the type of the value is used. Compared to Java the type file can be seen as interface or abstract class, while the type of the file value can be seen as the class implementing the interface.