欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    unity3d游戏开发之方法隐藏、多态和析构函数等.doc

    • 资源ID:70325544       资源大小:102KB        全文页数:9页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    unity3d游戏开发之方法隐藏、多态和析构函数等.doc

    一、 方法隐藏         如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法二、 Virtual和override        virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。        例如:public virtual void eat();        override 用在派生类中,表示对基类虚方法(属性)的重写。例如:public override void eat(); 代码举例:1. using System;2.3. using System.Collections;4.5.6.7. public class Animal8.9. 10.11.     public Animal() 12.13.     public virtual void eat()14.15.     16.17.18.19.     20.21. 22.23.24.25. public class dog:Animal26.27. 28.29.     public override void eat()30.31.     32.33.         /如果父类的虚方法中有我们需要的数据,可以在子类的覆盖方法中调用它:34.35.         /base.eat();36.37.         Console.WriteLine("狗吃骨头");38.39.     40.41. 42.43.44.45. public class cat:Animal46.47. 48.49.     public override void eat()50.51.     52.53.         Console.WriteLine("猫吃鱼");54.55.     56.57. 58.59.60.61. public class panda:Animal62.63. 64.65.     public override void eat()66.67.     68.69.         Console.WriteLine("熊猫吃竹子");70.71.     72.73. 74.75.76.77. public class MainFun78.79. 80.81.     static void Main()82.83.     84.85.         Animal anim = new Animal3;86.87.         anim0 = new dog();88.89.         anim1 = new cat();90.91.         anim2 = new panda();92.93.         anim0.eat();94.95.         anim1.eat();96.97.         anim2.eat();98.99.     100.101. 运行结果:  总结:1.virtual关键字和override关键字是成对出现的,否则是语法错误。2.派生类可以通过将重写声明为 sealed 来停止虚拟继承。这需要在类成员声明中的 override 关键字前面放置 sealed 关键字。3.在子类中重写基类中的虚方法时,可以使用base关键字调用基类中的虚方法。 三、 多态 通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C#中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。 多态性不仅对派生类很重要,对基类也很重要。任何情况下,使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象。基类的设计者可以预测到其基类中可能会在派生类中发生更改的方面。 例如,表示汽车的基类可能包含这样的行为: 当考虑的汽车为小型货车或敞篷汽车时,这些行为将会改变。基类可以将这些类成员标记为虚拟的,从而允许表示敞篷汽车和小型货车的派生类重写该行为。 多态是父类使用子类的方法 四、 私有构造函数 用关键字private修饰的构造函数就是私有构造函数。 五、 析构函数        析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。 析构函数的声明:1. class Car2.3. 4.5.     Car()  / destructor6.7.     8.9.         / cleanup statements.10.11.     12.13.    该析构函数隐式地对对象的基类调用 Finalize。 这样,前面的析构函数代码被隐式地转换为以下代码: 1. protected override void Finalize()2.3. 4.5.     try6.7.     8.9.         / Cleanup statements.10.11.     12.13.     finally14.15.     16.17.         base.Finalize();18.19.     20.21.  这意味着对继承链中的所有实例递归地调用 Finalize 方法(从派生程度最大的到派生程度最小的)。  析构函数和构造函数的区别:构造函数和析构函数是在类体中说明的两种特殊的成员函数。 构造函数的功能是在创建对象时,使用给定的值来将对象初始化。 析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。这篇文章来自狗刨学习网

    注意事项

    本文(unity3d游戏开发之方法隐藏、多态和析构函数等.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开