Ну и каша же у вас в... понимании. Вы сами поняли что написали-то?
У вас наследование противоречит нарисованной диаграмме.
class A()
class B(A)
class C(A)
Что вы подразумеваете под передачей объекта в метод?
Если методы не классовые, то вызывают их у объектов, а не у классов.
Если вы пытаетесь вызвать метод класса С из объекта типа B, то у вас не получится, поскольку и B и С непосредственные потомки A.
Опишите ваши классы кодом как есть, иначе по этому бессвязному изложению ничего не ясно.