自学内容网 自学内容网

c#中多态的实例应用说明二(利用隐藏方法)

在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,访问隐藏方法是子类的方法,访问重写方法是子类的方法;


原文地址:https://blog.csdn.net/weixin_53520014/article/details/142844750

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!