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

来源:互联网 发布:手机嗅探软件 编辑:程序博客网 时间:2024/05/21 15:43
欢迎来到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

0 0
原创粉丝点击