使用共同的基类,可以是抽象类(abstract)也可以具体类(但是需要使用virtual修饰类成员),各自重载(override)基类中的虚方法(virtual)即可。
举个例子:
abstract class abc
{
abstract void doSomeThng( string str){};
abstract string param{get;set};
}
class ConcreClass1 : abc
{
//必须实现抽象类中的所有抽象成员
override doSomeThng(string str)
{
MessageBox.show("遛小狗");
}
}
class ConcreClass2 : abc
{
//必须实现抽象类中的所有抽象成员
override doSomeThng(string str)
{
MessageBox.show("看电视");
}
}
---------------------
多态:
class program
{
static main(string str[])
{
ConcreClass1 cc1 = new ConcreClass1 ();
ConcreClass2 cc2 = new ConcreClass12();
ConcreDo( cc1);
ConcreDo( cc2);
private string oo = "example";
void ConcreDo (abc para)
{
para.doSomeThng(oo);
}
}
}
本文通过具体的代码示例介绍了如何使用抽象类和多态来实现不同子类间的灵活交互。文章展示了通过定义抽象基类并由具体子类实现抽象方法的方式,可以在运行时根据不同的对象类型调用相应的方法实现。

被折叠的 条评论
为什么被折叠?



