C#中索引器和数组的区别?
字段和属性的异同?Array和Array List的区别?
Virtual和abstract的区别?
高人给详细讲解以下,谢谢! --------------------编程问答-------------------- Array在构造之后是固定大小的。
ArrayList在构造之后仍然可以变化大小。
Virtual表示虚函数,但可以有实现部分。
abstract表示纯虚(抽象)函数,只定义了方法的签名,但不能包括实现。只能是这样:
abstract float area();不但如此,一个定义了abstract的类则所有其它的类也必须定义成abstract的。
举例来说:
CShape是一个基类,这个类可能包括一个纯虚函数方法Area()。因为对于一个无特定类型的“形状”而言,它的面积是无法计算的!
当然,也可以在CShape中不做基类。而定义一个类CTriangle,这是一个三角形类。对于这个类,可以有一很多公式。假如我们使用海易做图式。计算,则可以定义:
virtual float area()
{
return xxxx; //这里是海易做图式的具体算法
}
但你还可以实现一个直角三角形类(可能你的计算中用到大量的三角形的面积计算,而用于优化。当然虚函数本身就不够优化)。
override float area()
{
return a*b; //计算公式
}
大体意思说一下我的理解,具体语法不必追究。
补充:.NET技术 , C#