我有許多類與基類和它們的繼承形成一個類層次結構。每個班級都承擔了一些責任,但這些責任並不相關。我將不同的責任放在一起,因爲我可以很容易地使用它們(我不能很清楚地表達它,請參閱說明代碼)。但這似乎不是一個好設計。如何在保持易用性的同時拆分大型課程?感謝您的建議和意見!以下請查找說明代碼。如何在保持使用一致的同時分擔責任?
// Base class.
class Base
{
public:
// For responsibility A
virtual void A1();
virtual void A2();
...
// For responsibility B
virtual void B1();
virtual void B2();
...
// More responsibilites.
...
};
// Derived class 1.
class Derived_1 : public Base
{...};
// More derived classes.
...
// A function use it.
void Fun()
{
Base* p = new Derived_1;
p->A1(); // Here A1 and B1 are binded in the class Base, thus it make sure
p->B1(); // their uses are consistent. If they are separated, how to ensure it?
}