您的位置:首页 > 其它

脚本入门(继承 多态 索引器)

2014-12-06 15:59 99 查看
欢迎来到U3D社区:
      首先讲了继承里边的方法隐藏:
定义:
      如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法。
方法隐藏中用到的关键字:
     virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。
     override 用在派生类中,表示对基类虚方法(属性)的重写。

class Test
    {
        public virtual void Print()
    {
            Console.WriteLine("我是基类的Print虚方法");
          }
    }

 class Test2 : Test
    {
        public override void Print()
        {
            Console.WriteLine("我是子类重写了的Print方法");
            //使用base关键可以在子类中访问基类同名的方法,
            //base.Print();
        }

       public sealed override void Show()
        {
            Console.WriteLine("我是阻止派生类重写的Show方法");
        }
    }
             代码运行的结果是:我是子类重写了的Print方法

父类的引用指向子类的实例:

            Test ts = new Test2();
            ts.Print();
            Console.Read();
总结:

        virtual关键字和override关键字是成对出现的,否则是语法错误。

        派生类可以通过将重写声明为 sealed 来停止虚拟继承。这需要在类成员声明中的 override 关键字前面放置 sealed 关键字。

        在子类中重写基类中的虚方法时,可以使用base关键字调用基类中的虚方法。
多态:

 c#继承与c#多态的区别:
        c#继承:子类使用父类的方法。

          C#多态:父类使用子类的方法。
定义:
         通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。
例:

Graph g; 

              g= new Circular();   

              g.getSides();       //父类使用子类的方法    

              g = new Square();  

              g.getSides();       //父类使用子类的方法       

              Console.ReadKey();

索引器:

      索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。 

格式:

       [修饰符] 数据类型 this[索引类型 index]

{

       get{//获得属性的代码}                                                 

       set{ //设置属性的代码}

}

更多精彩在http://unity.gopedu.com/forum.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  U3D