IDL supports object-oriented programming, but is incomplete, not supporting the visibility of members.
You can define the IDL class by defining a separate file. It is easier to manage, the way the definition is: Pro
The INIT function can be used with parameters, which can be incorporated when calling the OBJ_NEW to generate an object. The invocation form of the OBJ_NEW function is as follows: result = obj_new ([ObjectClassName [, arg1 ...... Argn]])
IDL's function and process parameters may be incomplete, such as 5 parameters, which can be called with 0-5 parameters. Use n_params and n_lements with n_params and n_lements to be judged by N_PARAMS and N_EMENTS, the former can get the actual call parameters Number, the latter can determine if a parameter is valued in sub test :: init, caption print, n_params (); returns a number of parameters participating in the call, n_lements (caption); return 1 is value, return 2 is not Definition ... END
You can define multiple symbols, but only the one defined is valid, the front will be hidden.