继承问题 - 将派生类传递给基类
我需要在2个不同的'view'类中复制功能,唯一的区别在于由方向(字符串或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;
}
回答(0)