日期:2014-05-18  浏览次数:20653 次

新手求助求助.问一个常识性问题.
以下代码无问题,
只是想问的问题是,子类继承父类,在重构父类函数的时候是不是无法用任何办法重构父类函叔的参数,
如:
public override void eat(string s)
重构成
public override void eat(string s, int i)

C# code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace TestAbstract
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "ZhangSan";
            ZhangSan A = new ZhangSan1();
            A.eat(s);
            Console.ReadLine();
            
        }
    }
    abstract public class Person
    {
        abstract public void eat(string s);
    }
    public class ZhangSan : Person
    {
        public override void eat(string s)
        { 
                Console.WriteLine(s);
        }
    }
    public class ZhangSan1 : ZhangSan
    {
        public override void eat(string s)
        {
            Console.WriteLine("ZhangSan1");
        }
    }
}




------解决方案--------------------
1、函数名相同参数个数不同叫函数重载
2、重写基类的函数需要保持函数签名一致
------解决方案--------------------
你要区分重写和重载的区别