黑马程序员技术交流社区

标题: base和this在类中方法重名时用法的区别! [打印本页]

作者: 张向阳    时间: 2012-12-18 01:26
标题: base和this在类中方法重名时用法的区别!
namespace _04base和this的区别
{
    class MyBase
    {
        public void func()
        {
            Console.WriteLine("123");
        }
    }
    class MySub : MyBase
    {
        public new void func()//加new用来表示父类已经有此方法
        {
            Console.WriteLine("abc");
        }
        public void func1()
        {
            this.func();//表示本类中的方法
            base.func();//表示父类中的方法
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            MySub ms = new MySub();
            ms.func1();
            Console.ReadKey();
        }
    }
}
//总结:当类中没有重名的方法时,用base和this效果是一样的,但当有同名的方法时,base则指的是基类的方法,this指本类的方法!
作者: 许庭洲    时间: 2012-12-18 06:12
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2