Actually, I have solved this but I am not sure it is best practice. In PluginB I have updated it to the following.
class PluginB {
public function plugina_check() {
// Check to see if plugin is active is true
if (in_array('plugina/class-plugina.php', get_option('active_plugins')) {
// Create mew object
$new_example = new PluginA();
// The next call throws Undefined variable $example
$result = $new_example->check();
}
}
}
I assumed that the first objected created should be available to other plugins and that creating a second object would be unnecessary. I have now created two objects of the PluginA class.