我需要在两个不同的视图中复制功能。类,由方向(字符串或bool)和int值确定的功能的唯一差异。
因此,继承有助于避免代码重复。
为简单起见,在我的基类Animal
中,我有以下事件处理程序和两个派生类DogView
和CatView
。
什么是最好的'通过' DogView'和CatView'到这个基类,这个事件处理程序可以看到它们? (以及可选的' dogPrefab'以及' catPrefab') 我想避免重写这个处理程序,因为还有其他类似的事件处理程序,我会复制大部分基类,因此首先要破坏继承的原因。
bool MyEventHandler(IEvent evt)
{
Event_Enter castEvent = evt as Event_Enter;
if (castEvent != null)
{
Vector3 newPos = new Vector3(0,-1.1f, 0);
GameObject ob = (GameObject)Instantiate(dogPrefab, newPos, Quaternion.identity);
DogView animal = ob.GetComponent<DogView>();
animal._id = castEvent.id;
}
return false;
}