C#的面向对象程序设计.ppt

上传人:tia****nde 文档编号:2712841 上传时间:2019-11-29 格式:PPT 页数:77 大小:372KB
返回 下载 相关 举报
C#的面向对象程序设计.ppt_第1页
第1页 / 共77页
C#的面向对象程序设计.ppt_第2页
第2页 / 共77页
C#的面向对象程序设计.ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
第6章 C#的面向对象程序设计,内容提要: 类、对象的概念及使用 方法、属性、索引的概念、声明及调用 构造函数和析构函数的定义 继承和接口的用法 委托和事件的声明及调用 目的要求: 理解类、对象、构造函数和析构函数的意义 掌握方法、属性、索引的用法 掌握继承和接口、委托和事件的声明及调用 重点难点: 类、对象、方法、属性、继承、接口、委托和事件,面向对象的程序设计( OOP )的主要思想是将数据及处 理这些数据的操作都封装到一个称为类(Class)的数据结 构中。使用这个类时,只需要定义一个类的变量即可,这 个变量叫做对象(Object)。通过调用对象的数据成员完 成对类的使用。 1. 类 在面向对象理论中,类(class)就是对具有相同特征的一类事物所做的抽象(或者说,归纳)。,6.1 面向对象程序设计的基本概念,2. 对象 类是一种抽象,而对象(object)则是实例(instance), 是具体的。 如果使用如下格式来代表一个类生成一个对象: 类名 对象名; 则: 电子计算机 ComputerA; 电子计算机 ComputerB; 就代表ComputerA和ComputerB是“电子计算机”类的 两个不同对象。,3. 类的属性 属性说明了这个类的特点。 例如“PC计算机”类则可能具备如下属性: 计算机的名称 CPU类型 内存容量 硬盘容量 主板型号 显示适配器型号 声卡型号 操作系统类型 通过这些属性,就可以将不同的PC计算机区分开。,4. 类的方法 类的方法(method)代表了一类事物所具备的动作, 是对属性的操作。 比如:“石英钟”类的方法有:秒针前进一格、分秒针 前进一格、时针前进一格等,而“录像机”类所具备的方法 可以有:播放、定格、录像、倒带、快进等。,5. 派生和继承 在类的继承中,被继承的类称为基类(又称为父类), 由基类继承的类称为派生类(又称为子类)。派生类自动获 得基类的所有属性和方法,而且可以在派生类中添加新的属 性和方法。,6. 多态性 多态性是指在一般类中定义的属性或行为,被特殊 类继承之后,可以具有不同数据类型或表现出不同的行 为。就是程序在运行时,会自动判断对象的派生类型, 并调用相应的方法。 7. 封装 封装就是把对象的属性和服务结合成一个独立的系 统单位,并尽可能隐蔽对象的内部细节。,6.2 类和对象 6.2.1 类的声明 类是C#的一种自定义数据类型,其声明格式为: 类修饰符 class 类名:基类类名 类的成员; ; 说明:C#支持的类修饰符有:new、public、protected、 internal、private、abstract、sealed。,例:定义一个车辆类(有三个变量) class Vehicle public int passengers; /乘客数 public int fuelcap; /所耗燃料 public int mpg; /每公里耗油量 ,6.2.2 类的成员 类的成员可以分为两大类:类本身所声明的,以及 从基类其分为两种: 一种不以函数形式体现,称为成员变量; 另一种是以函数形式体现,称为成员函数。,1. 类成员的访问修饰符 (1)public: 允许类的内部或外界直接访问; (2)private: 不允许外界访问,也不允许派生类 访问,即只能在类的内部访问。如 果没有设定访问修饰符,默认为 private; (3)protected: 不允许外界访问,但允许派生类 访问; (4)internal: 只有本类的成员才能访问。 (5)readonly:该成员的值只能读,不能写。也就 是说,除了赋予初始值外,在程序 的任何一个部分将无法更改这个成 员的值。,class ClassA public int a; private int b; protected int c; public void SetA( ) a=1; /正确,允许访问类自身公有成员 b=2; /正确,允许访问类自身私有成员 c=3; /正确,允许访问类自身保护成员 class ClassB:ClassA public void SetB( ) ClassA BaseA=new ClassA( ); BaseA.a=5; /正确,允许访问基类公有成员 BaseA.b=23; /错误,不允许访问基类私有成员 BaseA.c=68; /正确,允许访问基类保护成员 class ClassC public void SetB( ) ClassA BaseA=new ClassA( ); BaseA.a=5; /正确,允许访问类的其他公有成员 BaseA.b=23; /错误,不允许访问类的其他私有成员 BaseA.c=68; /错误,不允许访问类的其他保护成员 ,2. 静态成员与非静态成员 静态成员是在声明成员时在前面加上static保留字; 非静态成员是在声明成员时前面没有static保留字; 静态成员属于类所有,非静态成员属于类的对象所有。 静态成员的访问格式: 类名.静态成员名,若将类中的某个成员声明为static,则该成员称为静态 成员。类中的成员要么是静态的,要么是非静态的。 类的非静态成员属于类的实例所有,每创建一个类的 实例都在内存中为非静态成员开辟了一块区域。而类的静 态成员属于类所有,为这个类的所有实例所共享。无论这 个创建了多少个对象(实例),一个静态成员在内存中只 占有一块区域。,例:静态成员的访问 using System; class Myclass public int nIndex=10; static public double fphi=45.6; class classTest static void Main( ) int a=Myclass.nIndex; /错误,因为nIndex是非静态成员 double b= Myclass.fphi; /正确,因为fphi是静态成员 Console.Write(b); ,6.2.3 对象的声明 创建类的对象。分两步: (1)先声明对象名 格式: 类名 对象名; 例:Vehicle minivan; /定义类Vehicle的一个对象 (2)创建类的实例。 格式:对象名=new 类名( ); 例:minivan=new Vehicle( ); /创建一个实例 以上两步也可以合并成一步。 格式: 类名 对象名=new 类名( ) ; 例: Vehicle minivan =new Vehicle( );,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!