zoukankan      html  css  js  c++  java
  • Unity之多态

    本文链接:https://blog.csdn.net/u010718707/article/details/41967149
    1.方法隐藏:

    如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法

    2.virtual:用在父类中,表示方法可以重写
    override:用在子类中,重写父类的方法
    例子:

    class Father{
    public virtual void Print{
    Console.WriteLine("父类的Print()");
    }
    }
    class  Son:Father{
    public override void Print(){
    Console.WriteLine("父类的Print()");
    }
    }
    注:virtual关键字和override关键字是成对出现的,否则是语法错误。

    3.父类的引用指向子类的实例

    class Son:Father
    {
    static void Main(string[] args)
    {
    Father s = new Son();//相当于把子类的值赋给了父类 (子类自动转换为父类)
     父类                子类
                         
    s.Print();
    Console.ReadLine();
    }
    }
    很好的学习资源哦http://www.gopedu.com/course/explore/U3D


    4.多态:(不同对象调用相同的方法,具有不同的行为)

    继承:子类使用父类的方法
       (区别)
    多态:父类使用子类的方法
    例子:
    class Father
    {
    public int getEat(){          
    }  
    class Son:Father  
    {        
    public override int getEat()         
    {  
                return 0;
    }
    static void Main (string [] args){
    Son s=new Son;
    Console.WriteLine(s.getEat());
    }  

    5.索引器

    定义:能够让对象以类似数组的方式来存取

    格式:[修饰符]   数据类型   this   [索引类型   index]
                  ↕         
        public,protected,private

    {
        get{//获得属性的代码}                                                
        set{ //设置属性的代码}
    }
    1.索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数,可以是字符串
    2.this表示操作本对象的数组或集合成员,可以简单把它理解成索引器的名字,因此索引器不能具有用户定义的名称
    例子:
    //定义索引器,name 字段的索引值为 0 ,password 字段的索引值为 1
    public  string  this [int index]{
    get{
    if(index==0){
    return name;
    }
    else  if(index==1){
    return  password;
    }
    else  if{
    return  null;
    }
    }
    }
    set{
    if(index==0){
    name=value;
    }
    else  if (index==1){
    possword=value;
    }
    }
    索引器的引用:

    //声明并实例化这个类
    Person p = new Person();
    //使用索引器的方式来给类的两个属性赋值
    p[0] = "jarod";
    p[1] = "123456,./";
    //使用类属性取得两个字段信息
    print(p.Name + " / " + p.Password);
    }
    6.析构函数

    格式:
    ~  类名
    用法:PersonTest   a=new  PersonTest();
    a.null;//对象为空
    Gc.Collect//垃圾收集器
    更多精彩关注http://unity.gopedu.com
    ————————————————
    版权声明:本文为CSDN博主「u010718707」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u010718707/article/details/41967149

  • 相关阅读:
    Fiddler:在PC和移动设备上抓取HTTPS数据包
    WP8:在WinRT组件(C++)中调用C#类库的解决方案
    Windows Phone 7.5/8.0/8.1 WebBrowser 渲染异常的原因及解决方法
    Xamarin.iOS开发初体验
    WP8:Unity3D之间的值传递
    【Win10 UWP】QQ SDK(一):SDK基本使用方法
    WP8.1:关于屏幕尺寸和分辨率的那些事儿
    .NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能
    记事本的编辑问题,如何删除记事本中某一列不需要的值
    C#制作RDLC报表
  • 原文地址:https://www.cnblogs.com/LiTZen/p/11990200.html
Copyright © 2011-2022 走看看