The (Super) Simple Type System -- Terminology

Function

In the Super Simple Type System a function is what it is in standard C. No extra meaning is given to them here.

Method

In the Super Simple Type System a method is part of an object. In reality they are just function pointers that point to private C functions.

most often methods are not to be accessed directly, even if it is possible, it is considered a bad idea, instead use the different object functions that accuses the methods.

Methods are stored in the class object. In computer science terms it can be likened to an objects v-table. An example of this deinitize () method that exists in all objects that has a class set that inherent from SBaseObjectClass:

typedef struct _FooClass FooClass;
struct FooClass {
  SBaseObjectClass parent_class;
  void (* foo_method)(Foo *);
};
    

an instance of this object contains the same v-table as SBaseObjectInstance (and its own method), and as such you can use the s_base_object_free () function on the object and the method will be run.[*]

More on this on the inheritance page.