面向对象的编程基础.ppt
《面向对象的编程基础.ppt》由会员分享,可在线阅读,更多相关《面向对象的编程基础.ppt(30页珍藏版)》请在三一办公上搜索。
1、第4章 面向对象的编程基础,4.1 类,在面向对象的程序设计中,类是面向对象程序设计的核心。在面向对象的概念里,现实世界的个体的数据抽象化为对象的数据成员(字段),个体的特性抽象化为对象的属性,个体的行为及处理问题的方法抽象化为对象的方法或事件。类是对某一类对象的抽象;而对象是某一种类的实例。对象可以执行类定义的方法来访问其属性、事件和字段。C#与C+的类不同在于不支持多重继承,但通过接口(interface)可实现多重继承。,4.1 类,4.1.1 C#类的声明和对象的创建C#类的一般声明格式如下:访问修饰符 class 字段变量声明 构造函数 方法;,4.1 类,其中,class是定义类的
2、关键字。访问修饰符用于控制类中数据和方法的访问权限,C#语言中有以下几种访问权限:(1)public:任何外部的类都可以不受限制的存取这个类的方法和数据成员。(2)private:类中的所有方法和数据成员只能在此类中使用,外部无法存取。(3)protected:除了让本身的类可以使用之外,任何继承自此类的子类都可以存取。(4)internal:在当前项目中都可以存取。该访问权限一般用于基于组件的开发,因为它可以使组件以私有方式工作,而该项目外的其它代码无法访问。(5)protected internal:只限于当前项目,或者从该项目的类继承的类才可以存取。,4.1 类,4.1.2 类的成员类的
3、成员根据是否为函数可将其分为数据成员(常量、字段)和函数成员(方法、属性、事件、构造函数、析构函数等)。类的成员具体含义如下:(1)常量:它代表了与类相关的常数数据。(2)字段(或称域):字段是表示与对象或类关联的变量,如上例公有类employee中的 No、name、sex 和address。(3)方法:方法是实现可以由对象或类执行的计算或操作的成员。如上例employee类中disp_employee()、Main()方法。(4)属性:属性是对象或类的特性。与字段不同,属性有访问器,这些访问器指定要在它们的值被读取或写入时执行的语句。这些语句可以对字段属性进行计算,并将计算结果返回给相关字
4、段。,4.1 类,(5)事件:它定义了由类产生的通知,用于说明发生什么事情。(6)实例构造函数:它执行需要对类的实例进行初始化的动作。(7)析构函数:它行在类的实例要被永远丢弃前要实现的动作。(8)静态构造函数:执行静态构造函数主要用来初始化一个类的静态成员。静态构造函数只在.NET运行时加载类时执行一次,以初始化静态字段。它没有访问修饰符,也没有参数,也只能有一个,因为C#代码从来不会调用它。,4.1 类,4.1.3 类的构造函数和析构函数构造函数和析构函数是在类体中说明的两种特殊的成员函数。构造函数的功能是在创建实例(也就是对象)时,使用给定的值来将实例初始化。析构函数的功能是用来从内存中
5、释放一个实例的,在删除实例前,用它来做一些清理工作,它与构造函数的功能正好相反。构造函数的特点如下:(1)构造函数是成员函数,该函数的名字与类名相同。(2)构造函数是一个特殊的函数,该函数无数据类型,它没有返回值。构造函数可以重载,即可以定义多个参数个数不同的函数。(3)构造函数访问权限总是public。如果是private,则表示着该类不能被实例化,这通常在只含有静态成员的类中。,4.1 类,(4)程序中不能直接调用构造函数,在创建实例时系统自动调用构造函数。(5)如果类没有为对象提供构造函数,则默认情况下 C#将创建一个默认的构造函数,该构造函数实例化对象,并将所有成员变量设置为相应的默认
6、值。析构函数的特点如下:(1)析构函数是成员函数,函数体可写在类体内,也可定在类体外。(2)析构函数也是一个特殊的函数,它的名字同类名,并在前面加“”字符,用来与构造函数加以区别。析构函数不能有参数,无数据类型。(3)一个类中只可能定义一个析构函数。当撤销对象时,析构函数自动被调用。析构函数不能被继承和重载。,4.1 类,4.1.4 静态成员和实例成员类的成员要么是静态成员,要么是实例成员(非静态成员)。当用static修饰符声明后,则该成员是静态成员。如果没有static修饰符,则该成员是实例成员。两者不同在于静态成员属于类所有,为这个类所有实例共享。而实例成员属于类的实例所有。【例4-3】
7、下面举一个例子,说明实例成员和静态数据成员的应用。,4.1 类,4.1.5 分部类分部类可以将类(结构或接口等)的声明拆分到两个或多个源文件中。若要拆分类的代码,被拆分类的每一部分的定义前边都要用partial关键字修饰。分部类的每一部分都可以存放在不同的文件中,编译时会自动将所有部分组合起来构成一个完整的类声明。public partial class Myclass/文件1 a.cs/代码1略public partial class Myclass/文件2 b.cs/代码2略将Myclass类的代码拆分成到文件1和文件2中,这样的写法在窗体程序中经常可以见到。窗体程序中用户写的class
8、Form1部分代码放在一个Form1.cs文件中,而开发环境自动生成的class Form1部分代码放在。,4.2 结构类型,4.2.1 结构类型的声明struct关键字用于声明结构类型,基本格式如下:struct 结构类型名 成员声明;例如:声明颜色结构体myColorstruct myColor public int Red;public int Green;public int Blue;,4.2 结构类型,4.2.2 结构变量声明了一个结构类型后,可以像使用其他类型(如int、double、bool等)一样定义结构体变量来使用它。1.定义结构变量定义结构变量的一般形式如下:结构类型名=
9、new 结构类型名(参数列表)说明:结构类型名是指声明的结构类型名称,而不是“struct”。结构变量名遵循Visual C#的合法标识符规则。“new 结构类型名(参数列表)”为可选项,但根据结构类型的规则,如果要调用构造函数,则必须使用该项。例如:myColor mc;/mc就是一个myColor结构类型的变量。,4.2 结构类型,2.使用结构变量定义了结构变量后,就可以访问其中的字段和方法成员,访问结构成员的方法非常简单,其一般形式如下:./访问字段成员./访问方法成员./访问属性成员例如mc是一个myColor结构类型的变量,则可以如下使用访问字段成员:,4.3 方法,4.3.1 方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 编程 基础
链接地址:https://www.31ppt.com/p-6034407.html