0

同じメソッドを持つ2つのクラスがある場合、クラスのオブジェクトは、インターフェイスを使用するこの状況を呼び出すメソッドを認識していませんか?しかし、インターフェイスはどのクラスメソッドを呼び出すか、インターフェイスを適用する方法をどのように知っているのでしょうか。コードplzをチェックして教えてください。

namespace IntExample
{
    interface Iinterface
    {
     public   void add();
     public     void sub();
    }
    public partial class Form1 : Form,Iinterface
    {
        public Form1()
        {
            InitializeComponent();
        }


        public void add()
        {

            int a, b, c;
            a = Convert.ToInt32(txtnum1.Text);
            b = Convert.ToInt32(txtnum2.Text);
            c = a + b;
            txtresult.Text = c.ToString();



        }
        public void sub()
        {

            int a, b, c;
            a = Convert.ToInt32(txtnum1.Text);
            b = Convert.ToInt32(txtnum2.Text);
            c = a - b;
            txtresult.Text = c.ToString();
        }

        private void btnadd_Click(object sender, EventArgs e)
        {
            add();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            sub();
        }

        class cl2 : Form1,Iinterface
        {
            public void add()
            {

                int a, b, c;
                a = Convert.ToInt32(txtnum1.Text);
                b = Convert.ToInt32(txtnum2.Text);
                c = a + b;
                txtresult.Text = c.ToString();
            }
        }
    }

}
4

1 に答える 1

1

インターフェイスは抽象化であり、継承を必要とせずにポリモーフィズムを実行できるようにします。そのため、「インターフェイス変数」は具象クラスのインスタンスを保持し、現在のインスタンスのクラスは、変数にそのインスタンスが含まれている限り、インターフェイスによるメソッド検索に常に使用されます。

于 2012-12-12T05:57:19.300 に答える