您的位置:首页 > 编程语言 > C#

C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)

2015-12-21 17:00 489 查看
静态类

静态类不能被其他类继承,静态成员亦不能被继承(访问的是同一个),备注1.

静态类只能继承自Object类。(静态类不能继承自其它类。)

继承(多态)、静态本身就是相反的。

静态类不能实现任何接口, (因为接口中的成员都是实例成员。*)

sealed:(*)密封类,不能被继承。

sealed关键字,表示类不能被继承。(密封类)

密封类表示不能被继承。String类。.net系统中本身对字符串有很多特殊处理(为String开了很多“绿灯”,String有很多特权,比如:不可变性,字符串池等等。),防止别的类继承后造成混乱。商业问题。

禁止子类重写父类的方法。

静态类的本质abstract+sealed(*,知道即可)static

静态类不能被实例化:abstract

静态类不能被继承:sealed

值类型:

int、char、double、float、long、short、byte、bool、enum、struct、decimal

值类型都是派生自ValueType

值类型不能继承,只能实现接口。

引用类型:

string、数组、类(子定义数据类型)、接口、委托、

int[] n={1,2,3};//引用类型。

引用类型都派生自:Object

引用类型可以继承(类之间可以继承)

枚举

一组和数值有关的常量

enum Gender { Male,Female}

enum Weeks { 星期日=0,星期一,}

把字符串转换成枚举Gender g = (Gender)Enum.Parse(typeof(Gender), "Male");

结构

就是小类,值类型

不能继承类

可以实现接口

不能有显示无参构造函数(隐式)

结构中不能给字段赋初始值

ref与out

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加ref或out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

ref :可进可出,要赋初值

out :只出 不进 可以没有初值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: