ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
第九章 方法[《.net框架程序设计》读书笔记]
第九章 方法









一、 实例构造器



1、 前面提到用new操作符创建对象时的三部曲:



l 为对象分配内存



l 初始化对象的附加成员(方法表指针和SyncBlockIndex)



l 调用实例构造器初始化实例状态



在分配内存时,系统将所有内存位置均置为0值,这就是为什么字段初始化而未赋值时均为0或null值。







不调用实例构造器的情况:



l 调用Object.MemberwiseClone()方法创建实例(分配内存;初始化附加成员;将源对象字节拷贝到新创建的对象)



l 反序列化对象时



2、 为避免为实例字段产生过多的构造器代码,应避免在声明字段时为字段符初值,而是在无参构造器中为它们符初值,在其他重载的构造器中调用无参构造器。







3、 值类型实例构造器



l C#编译器不会自动调用其构造器,必须显式调用构造器才能起作用



l C#编译器不允许为值类型定义无参实例构造器(下面会介绍可以定义无参类型构造器)



l 不能为结构中的字段在声明的同时赋初值,可通过定义带参构造器的方式进行



l 必须在结构的构造器中为所有字段赋初值



二、 类型构造器



1、 类型构造器的一些限制:



l 不能带任何参数



l 类型构造器总为私有的,不能用其他访问修饰符



2、类型构造器被调用的时机:



l 第一个实例被创建,或者类型的第一个字段或成员第一次被访问之前



l 非继承静态字段被第一次访问之前



类型构造器在类型的生命周期中只被调用一次;



3、一些限制:



l 若类型构造器中抛出异常,则该类型变成不可访问,访问其中的任何字段或方法均会抛出System.TypeInitializationException异常



l 类型构造器只能访问类型的静态字段



l 类型构造器不应该调用基类型的类型构造器,因静态字段并非继承而是编译时静态绑定



三、 操作符重载



1、 操作符重载



C#中对操作符重载的一些限制:



l 必须声明为public static



l 必须有一个参数为操作符所属类型



l 不能改变操作符原始定义的引数个数



l 若定义了true操作符也必须同时定义false操作符,二者都必须返回bool值



l ++、--操作符必须返回其所隶属之类型的一个实例



l 可被重载的一元操作符:+、-、!、~、++、--、true、false



l 可被重载的二元操作符:+、-、*、/、%、!、^(异或)、<、>、<<、>>、==、!=、<=、>=



l 不允许被重载的操作符:&&、||、=、?:、+=、-=、/=、%=、|=、^=、<<=、>>=,实际上其中一些“复式操作符”在二元操作符被重载后自动生成,而不能显式定义



l 必须成对重载的操作符:(== ,!=)、(<,>)、(<=,>=)



l ++、--操作符重载时不能区分其为前置或后置的



2、 操作符重载与语言互操作性



编译器会为重载的操作符生成一个特殊名称的方法,如+(加)操作符生成op_Addition()方法,并为该方法的定义条目上加上specialname标记。当某种语言不能进行操作符重载时,可以直接定义具有该特殊名称的方法,以在其他语言中调用;或直接调用具有该特殊名称的方法以适应某种语言不能解析操作符的限制。如:vb中不能重载操作符,可显式定义op_Addition()方法以在C#中调用;C#中定义的+操作符不能被VB识别,可显式调用op_Addition()方法获得同样的功能。



四、 转换操作符



转换操作符的一些限制:



l 必须为public static



l 必须指定关键字implicit或explicit,原则为:从本类型转换为其他类型使用implicit,将其他类型转换为本类型用explicit,不能都使用implicit







五、 方法参数



1、 引用参数



l 缺省情况下为值传递



l 标志为out的参数,在调用方法前不必初始化,但返回之前必须赋值,没有被初始化的参数是不能被使用



l 标志为ref的参数,在调用方法前必须初始化,否则触发编译错误



l 可以使用ref或out来进行方法的重载,但不能通过区分ref和out来重载方法



l 按引用方式传递的变量(实参)必须和方法声明的参数(形参)类型完全相同,否则触发编译错误。



2、 可变数目参数



使用params关键字及对象数组的方式指定可变参数序列。一些限制:



l 只有方法的最后一个参数才能使用可变数目参数





 
 
本站关键词:
|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计||厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有