第3章 C#面向对象程序设计_第1页
第3章 C#面向对象程序设计_第2页
第3章 C#面向对象程序设计_第3页
第3章 C#面向对象程序设计_第4页
第3章 C#面向对象程序设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、构造阶段对象最初进行实例化的时期。这个初始化过程称为构造阶段,由构造函数完成。析构阶段在删除一个对象时,常常需要执行一些清理工作,例如释放内存,由析构函数完成。 Class MyClass / class members class MyClass : MyBaseClass / class members interface ImyInterface / interface members public interface IMyInterface : IMyBaseInterface, ImyBaseInterface2 / interface members 使用下述语法把简单的构造函数

2、添加到一个类中: class MyClass public MyClass() / Constructor code/ rest of class definition 这个构造函数与包含它的类同名,且没有参数,这是一个公共函数,所以用来实例化类的对象。class MyClass MyClass() /destructor code抽象类和接口都包含可以由派生类继承的成员。接口和抽象类都不能直接实例化,但可以声明它们的变量。派生类只能继承一个基类,即只能直接继承一个抽象类(但可以用一个继承链包含多个抽象类);类可以使用任意多个接口抽象类可以拥有抽象成员和非抽象成员;接口成员必须都在使用接口的类

3、上执行它们没有代码体接口成员被定义为公共的;抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员结构是值类型,不是引用类型。它们存储在堆栈中或存储为内联,其生存期的限制与简单的数据类型一样。结构不支持继承。结构的构造函数的工作方式有一些区别。尤其是编译器总是提供一个无参数的默认构造函数,这是不允许替换的。使用结构,可以指定字段如何在内存中布局 所有成员都有自己的访问级别,用下面的关键字之来定义: public成员可以由任何代码访问。 private成员只能由类中的代码访问 internal成员只能由定义它的工程内部的代码访问。 proteded成员只能由类或派生类中的代码访问。 vi

4、rtual方法可以重写。 abstract方法必须重写(只用于抽象类中)。 override方法重写了一个基类方法(如果方法被重写,就必须使用该关键字)。 extern方法定义放在其他地方。public string SomeProperty get return This is the property value; set / do whatever needs to be done to set the property 不允许使用访问修饰符,所有的接口成员都是公共的 接口成员不能包含代码体。 接口不能定义字段成员。 接口成员不能用关键字static,virtual,abstract或s

5、ealed来定义。要重载运算符,可给类添加运算符类型成员。指定了要处理多少个操作数,以及这些操作数的类型。一般情况下,操作数的类型与定义运算符的类类型相同,但也可以定义处理混合类型的运算符下述运算符可以重载: 一元运算符:+,-,!,+,-,true,false 二元运算符:+,-,*,/,%,|, 比较运算符:=,!=,= 封箱(boxing)是把值类型转换为System.Object类型,或者转换为由值类型执行的接口类型。拆箱(unboxing)是相反的转换过程 封箱是在没有用户干涉的情况下进行的,但拆箱一个值需要进行显式转换,即需要进行数据类型转换封箱非常有用,有两个原因。它允许使用集合

6、中的值类型,集合中项目的类型是object有一个内部机制允许在值类型上调用object is 这个表达式的结果如下: 如果是一个类类型,而也是该类型,或者它继承了该类型,或者它封箱到该类型中,则结果为true。 如果是一个接口类型,而也是该类型,或者它是实现该接口的类型,则结果为true。 如果是一个值类型,而也是该类型,或者它被拆箱到该类型中,则结果为true。 as 这只适用于下列情况: 的类型是类型 可以隐式转换为类型 可以封箱到类型.中如果不能从显式转换为,则表达式的结果就是null。从基类到派生类之间的转换可以显式进行,但这常常是无效的。 使用异常处理的代码块;在处理第一个代码块时,

7、如果找到某个异常,就执行代码块在处理完异常之后执行选择的代码块。try /place satements here try /place statements herecatch /place statements heretry /place statements herecatch(Exception thrownException)/palce statements heretry/open files/read filescatch/catch exceptionsfinally/close files Message属性包含对异常原因的描述。 InnerException属性包含引起抛出当前异

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论