For .NET, use obj.GetBase().BaseType.Name (or .FullName for the full class name including the assembly name).
For Java, use obj.getClass().getSuperclass().getSimpleName(), (or .getName() for the full class name including the package name).
Here's an example that logs a .NET object's base class chain, up to System.Object:
function Test()
{
var obj = Sys.Process("Orders").WinFormsObject("MainForm");
// Log the object's base class chain
var baseType = obj.GetType();
do {
Log.Message(baseType.FullName);
baseType = baseType.BaseType;
}
while (baseType != null);
}