c#的面向对象程序设计

c#的面向对象程序设计

ID:26282707

大小:454.37 KB

页数:78页

时间:2018-11-24

c#的面向对象程序设计_第1页
c#的面向对象程序设计_第2页
c#的面向对象程序设计_第3页
c#的面向对象程序设计_第4页
c#的面向对象程序设计_第5页
资源描述:

《c#的面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章C#的面向对象程序设计内容提要:类、对象的概念及使用方法、属性、索引的概念、声明及调用构造函数和析构函数的定义继承和接口的用法委托和事件的声明及调用目的要求:理解类、对象、构造函数和析构函数的意义掌握方法、属性、索引的用法掌握继承和接口、委托和事件的声明及调用重点难点:类、对象、方法、属性、继承、接口、委托和事件面向对象的程序设计(OOP)的主要思想是将数据及处理这些数据的操作都封装到一个称为类(Class)的数据结构中。使用这个类时,只需要定义一个类的变量即可,这个变量叫做对象(Object)。通过调用对象的数据成员完成对类的使用。1.类在面向对象理论中,类(

2、class)就是对具有相同特征的一类事物所做的抽象(或者说,归纳)。6.1面向对象程序设计的基本概念2.对象类是一种抽象,而对象(object)则是实例(instance),是具体的。如果使用如下格式来代表一个类生成一个对象:类名对象名;则:电子计算机ComputerA;电子计算机ComputerB;就代表ComputerA和ComputerB是“电子计算机”类的两个不同对象。3.类的属性属性说明了这个类的特点。例如“PC计算机”类则可能具备如下属性:计算机的名称CPU类型内存容量硬盘容量主板型号显示适配器型号声卡型号操作系统类型通过这些属性,就可以将不同的PC计算机

3、区分开。3.类的属性属性说明了这个类的特点。例如“PC计算机”类则可能具备如下属性:计算机的名称CPU类型内存容量硬盘容量主板型号显示适配器型号声卡型号操作系统类型通过这些属性,就可以将不同的PC计算机区分开。4.类的方法类的方法(method)代表了一类事物所具备的动作,是对属性的操作。比如:“石英钟”类的方法有:秒针前进一格、分针前进一格、时针前进一格等;而“录像机”类所具备的方法可以有:播放、定格、录像、倒带、快进等。5.派生和继承在类的继承中,被继承的类称为基类(又称为父类),由基类继承的类称为派生类(又称为子类)。派生类自动获得基类的所有属性和方法,而且可以

4、在派生类中添加新的属性和方法。6.多态性多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同数据类型或表现出不同的行为。就是程序在运行时,会自动判断对象的派生类型,并调用相应的方法。7.封装封装就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。6.2类和对象6.2.1类的声明类是C#的一种自定义数据类型,其声明格式为:[类修饰符]class类名[:基类类名]{类的成员;}[;]说明:C#支持的类修饰符有:new、public、protected、internal、private、abstract、sealed。例:定义一个车辆

5、类(有三个变量)classVehicle{publicintpassengers;//乘客数publicintfuelcap;//所耗燃料publicintmpg;//每公里耗油量}6.2.2类的成员类可以分为两大类:类本身所声明的,以及从基类中继承而来的。在C#中,按照类的成员是否为函数将其分为两种:一种不以函数形式体现,称为成员变量;另一种是以函数形式体现,称为成员函数。1.类成员的访问修饰符(1)public:允许类的内部或外界直接访问;(2)private:不允许外界访问,也不允许派生类访问,即只能在类的内部访问。如果没有设定访问修饰符,默认为private;

6、(3)protected:不允许外界访问,但允许派生类访问;(4)internal:只有本类的成员才能访问。(5)readonly:该成员的值只能读,不能写。也就是说,除了赋予初始值外,在程序的任何一个部分将无法更改这个成员的值。classClassA{publicinta;privateintb;protectedintc;publicvoidSetA(){a=1;//正确,允许访问类自身公有成员b=2;//正确,允许访问类自身私有成员c=3;//正确,允许访问类自身保护成员}}classClassB:ClassA{publicvoidSetB(){ClassABa

7、seA=newClassA();BaseA.a=5;//正确,允许访问基类公有成员BaseA.b=23;//错误,不允许访问基类私有成员BaseA.c=68;//正确,允许访问基类保护成员}}classClassC{publicvoidSetB(){ClassABaseA=newClassA();BaseA.a=5;//正确,允许访问类的其他公有成员BaseA.b=23;//错误,不允许访问类的其他私有成员BaseA.c=68;//错误,不允许访问类的其他保护成员}}2.静态成员与非静态成员静态成员是在声明成员时在前面加上static保留字;非静态成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。