public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
ClassA a = new ClassA();
a.show();
}
private void button2_Click(object sender, EventArgs e)
{
ClassA b = new ClassB();
b.show();
}
private void button3_Click(object sender, EventArgs e)
{
ClassA c = new ClassC();
c.show();
}
private void button4_Click(object sender, EventArgs e)
{
IMath m_math = new Math();
int c=m_math.add(1, 2);
MessageBox.Show(c.ToString());
}
private void button5_Click(object sender, EventArgs e)
{
IMath m_math = new MathEx();
int c=m_math.multipy(1, 2);
MessageBox.Show(c.ToString());
}
private void button6_Click(object sender, EventArgs e)
{
IMath m_math = new MathClass();
int c=m_math.add(1, 2);
MessageBox.Show(c.ToString());
}
private void button7_Click(object sender, EventArgs e)
{
Math m_math = new MathClass();
int c=m_math.Cal(1,2);
MessageBox.Show(c.ToString());
}
}
#region 多重继承
public class ClassA
{
public virtual void show()
{
MessageBox.Show("class A show");
}
}
public class ClassB : ClassA
{
public override void show()
{
MessageBox.Show("class B show");
base.show();
}
}
public class ClassC : ClassB
{
public override void show()
{
MessageBox.Show("class C show");
return;
}
}
#endregion
#region 虚方法
//虚方法的函数
abstract public class Worker
{
abstract public void DoSomething();
public virtual void Dispaly()
{
MessageBox.Show("Worker display");
}
}
public class Manger : Worker
{
public override void DoSomething()
{
MessageBox.Show("Manger do something");
//throw new Exception("The method or operation is not implemented.");
}
public override void Dispaly()
{
MessageBox.Show("manger display");
}
}
public class Boss : Manger
{
public override void DoSomething()
{
MessageBox.Show("Boss Do something");
//base.DoSomething();
}
public override void Dispaly()
{
MessageBox.Show("Boss Display");
}
}
#endregion
#region 接口函数
public interface IMath
{
int add(int a, int b);
int multipy(int a, int b);
}
public class Math : IMath
{
public int add(int a, int b)
{
return a + b;
}
public virtual int multipy(int a, int b)
{
return a * b;
}
public virtual int Cal(int a, int b)
{
return a - b;
}
}
public class MathEx : Math
{
public override int multipy(int a, int b)
{
return a * b * a+a+b;
//return base.multipy(a, b);
}
}
public class MathClass : Math, IMath
{
public void Do()
{
MessageBox.Show("Do mathclass");
}
}
#endregion
c# interface virtual ,abstract ,多态实例
最新推荐文章于 2024-07-10 10:34:29 发布