欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

C# II 中的多态性应用说明示例(使用隐藏方法)

最编程 2024-10-19 07:20:20
...
在C#中,多态性是通过继承和实现接口来实现的,允许编写可以使用基类型的代码,然后使用派生类型的特定行为。

一.实例界面显示

 二.源码界面显示 

        class dad//定义基类
        {
            protected string name;//定义属性
            public dad(string n)//构造函数
            {
                name = n;
            }
            public void say()//定义方法
            {
                
                MessageBox.Show("I am "+ name );
            }
            public virtual void growup()//定义虚方法
            {
               
                MessageBox.Show(name+ "is a dad,"+ name+" has grown old.");
            }
        }
        class son : dad//定义派生类
        {
            public son(string n) : base(n)//调用基类的构造函数
            {
                //name = n;
            }
            public new void say()//重写基类中的方法
            {
                
                MessageBox.Show("I am " + name+ " and a son.");
            }
            public override void growup()//重写基类中的虚方法
            {
                //base.growup();
                
                MessageBox.Show(name + " is growing up.");
            }
        }
      
            private void Test2()//定义方法
            {
                dad grandpa = new dad("Jerry");//创建基类对象
                grandpa.say();//调用基类中的方法
                grandpa.growup();//调用基类中的虚方法
                dad father = new son("Tom");//创建派生类对象
                father.say();//调用派生类中的重写方法
                father.growup();//调用派生类中的重写方法
                son tom = new son("Jack");//创建派生类对象
                tom.say();//调用派生类中的重写方法
                tom.growup();//调用派生类中的重写方法
                
            }

        private void button5_Click(object sender, EventArgs e)
        {
            Test2();
        }

三.总结

3.1.用父类生成的父类对象,grandpa,访问隐藏方法是父类的方法,访问重写方法是父类的方法;

3.2.用子类生成的父类对象,father,访问隐藏方法是父类的方法,访问重写方法是子类的方法;

3.3.用子类生成的子类对象,son,访问隐藏方法是子类的方法,访问重写方法是子类的方法;

推荐阅读