zoukankan      html  css  js  c++  java
  • C#和Unity总结Day01

    1>.重载和重写的区别:

    (1).所处位置不同,重载在同类中,重写在父子类中

    (2).定义方式不同,重载方法名相同,参数列表不同,重写方法名和参数列表相同

    (3).调用方式不同,重载使用相同对象以不同参数调用,重写用不同对象以相同参数调用

    (4).多态时机不同,重载是编译时多态,重写是运行时多态

    重载:方法名相同,但参数不同,参数的个数不同或者类型不同,满足一个就可以(和返回值无关,和参数的类型和个数无关)

    重写:父类方法修改它的实现方式或者说在子类中对它进行重新编写

    那么为何要重写父类的方法?

    通常,子类继承父类的方法,在调用对象继承方法的时候,调用和执行的是父类的实现,但是,有时候需要对子类中的继承方法有不同的实现方式,重写用到override关键字,且父类中要被重写的方法必须声明virtual或者是abstract类型

    2>.面向对象的三大特点

    (1).继承:有两种类型,实现继承和接口继承

    实现继承:表示一个类型派生于基类型,它拥有该基类型的所有成员字段和函数.在实现继承中,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指定某个函数的实现代码.在需要给现有的类型添加功能,或许多相关的类型共享一组重要的公共功能时.可以使用这种类型的继承.

    接口继承:表示一个类型值继承了函数的签名,没有继承任何的代码,在需要制定该类型具有某些可用的特性时,最好使用这种类型的继承.

    (提高代码重用度,增强软件可维护性的重要手段,符合开闭原则)

    (2).封装:被定义为"把一个或多个项目在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为防止对实现细节访问.

    访问修饰符:

    public:所有对象都可以访问

    private:对象本身在对象内部可以访问

    protected:只有该类对象及其子类对象可以访问

    internal:同一个程序集的对象可以访问

    (封装是将数据和行为相结合,通过行为约束代码修改数据的程度,增强数据的安全性,属性是C#封装实现的最好体现)

    (3).多态:多态性意味着有多重形式,在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"

    多态性可能是静态的或动态的

    (多态性是指同名的方法在不同环境下,自适应的的反应出不同得表现,是方法动态展示的重要手段)

    3>.简述值类型和引用类型有什么区别

    (1)值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址

    (2)值类型存取快,引用类型存取慢

    (3)值类型表示实际数据,引用类型是表示存储在内存堆中的数据的指针和引用

    (4)栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放

    (5)值类型继承自System.ValueType,引用类型继承自System.Object

  • 相关阅读:
    Linux编译安装中configure、make和make install各自的作用
    转载的 Linux下chkconfig命令详解
    MYSQL主从不同步延迟原理分析及解决方案(摘自http://www.jb51.net/article/41545.htm)
    mysql主从延迟(摘自http://www.linuxidc.com/Linux/2012-02/53995.htm)
    http://ninghao.net/video/1554不错的学习网址
    javascript 内置对象和方法
    javascript 函数
    javascript 基础
    css z-index
    css 透明度
  • 原文地址:https://www.cnblogs.com/qipei/p/10028394.html
Copyright © 2011-2022 走看看