博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#和Unity总结Day01
阅读量:4708 次
发布时间:2019-06-10

本文共 1206 字,大约阅读时间需要 4 分钟。

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

 

转载于:https://www.cnblogs.com/qipei/p/10028394.html

你可能感兴趣的文章
别在最好的年纪辜负最好的自己
查看>>
微软品牌形象广告 不是一般的优秀
查看>>
【Object.prototype.toString.call()】---判断某个对象属于哪种内置类型------【巷子】...
查看>>
转载:结构体的字节对齐
查看>>
用github来展示你的前端页面吧
查看>>
内存池
查看>>
SQLServer到底支持多少连接数的并发?
查看>>
深入分析java中文乱码问题
查看>>
Nginx(二)
查看>>
CF #329 D
查看>>
Android中pendingIntent的深入理解
查看>>
地图之CLLocationManager的使用 定位功能使用
查看>>
AsyncTask 之怎样使用
查看>>
NancyFX 第九章 Responses(响应对象)
查看>>
C#WinForm 窗体回车替换Tab
查看>>
深入理解java虚拟机(5)---字节码执行引擎
查看>>
jquery之别踩白块游戏的实现
查看>>
从今天开始写博客
查看>>
利用python进行泰坦尼克生存预测——数据探索分析
查看>>
pow log 与 (int)
查看>>