欢迎来到天天文库
浏览记录
ID:57235026
大小:278.50 KB
页数:41页
时间:2020-08-04
《精讲C#中的要点课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计–C#第九章定义类主要内容类定义相关语法类的定义构造函数与析构函数其它相关主题类的定义使用class关键字来定义类:class<类名>{//类的成员}类的成员(Member)的定义成员的访问限定符数据成员(字段)的定义函数成员(方法)的定义构造函数与析构函数的定义属性(方法)的定义类定义中可以使用的访问修饰符修饰符含义无或internal类只能在当前项目中访问public类可以在任何地方访问abstract或internalabstract类只能在当前项目访问,不能实例化,只能继承publicabst
2、ract类可以在任何地方访问,不能实例化,只能继承sealed或internalsealed类只能在当前项目中访问,不能派生,只能实例化publicsealed类可以在任何地方访问,不能派生,只能实例化成员访问(Accessibility)限定符public:Memberisaccessiblefromanycode;private:Memberisaccessibleonlyfromcodethatispartoftheclass(thedefaultifnokeywordisused);internal:Memb
3、erisaccessibleonlyfromcodewithintheproject(assembly)whereitisdefined;protected:Memberaccessibleonlyfromcodethatispartofeithertheclassoraderivedclass;Protectedinternal数据成员(Field)的定义class<类名>{<访问限定符><类型><成员名>;}其他修饰符:static、readonly、const、volatileModifierstatic:表
4、示类的静态字段,可通过定义它们的类来访问,不能用对象实例访问。readOnly:表示这个字段只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。ModifierConst:指定字段或局部变量的值是常数,不能被修改Volatile:类型修饰符(typespecifier),被设计用来修饰被不同线程访问和修改的变量;数据成员(Field)的初始化在数据成员的定义语句中进行初始化;运行时初始化(类的新对象被创建时);可用于静态数据成员的初始化方法;在实例构造函数(Constructors)中初始化;(推荐)函数成员(Meth
5、od)的定义class<类名>{<访问限定符><成员函数原型声明>{函数体}}其他修饰符Static:只能通过类访问,无法通过对象实例访问;Virtual:方法可以重写Abstract:方法必须在非抽象的派生类中重写(只用于抽象类)override(sealed):方法重写了一个基类方法(如果方法被重写,就必须使用该关键字)Extern:方法定义放在其他地方构造函数与析构函数(ConstructorsandDestructors)构造函数与析构函数是类的两种特殊的函数成员,分别用于对象的初始化和清理。构造函数要求
6、与所在的类同名,无返回值,如:构造函数与析构函数(ConstructorsandDestructors)构造函数允许重载,如果在代码中没有提供,编译器会自动添加一个默认的构造函数。而析构函数使用带有~前缀的类名来声明,无参无返回值。如:析构函数不允许重载。静态构造函数静态构造函数在以下情形下被自动调用:对应类的第一个实例被创建时;对应类的任何一个静态成员第一次被引用时。静态构造函数用于初始化类的静态成员。关于FinalizeFinalize方法允许Object在“垃圾回收”回收Object之前尝试释放资源并执行其他清理
7、操作。默认情况下,Object.Finalize不执行任何操作。只有在必要时才必须由派生类重写它。派生类型中的每个Finalize实现都必须调用其基类型的Finalize实现。这是唯一一种允许应用程序代码调用Finalize的情况。c#析构函数是执行清理操作的C#机制。析构函数提供了适当的保护措施,如自动调用基类型的析构函数。在C#代码中,不能调用或重写Object.Finalize。类的属性(Property)的定义class<类名>{<访问限定符><类型><属性名>{get{读取属性值部分函数体}set{设置
8、属性值部分函数体}}属性实际上实现了OOP的封装性类的属性(Property)的定义只读/只写属性自动完成属性(C#3.0)类的属性(Property)的定义类的属性(Property)的定义比较OOP与非OOP比较OOP与非OOP类定义中的访问修饰符内部类与公共类在默认情况下,不加修饰符或显式使用i
此文档下载收益归作者所有