《C Sharp 3.0从基础到项目实战》课件第7章类 与 对 象.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C Sharp 3.0从基础到项目实战》课件第7章类 与 对 象.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C Sharp 3.0从基础到项目实战 C Sharp 3.0从基础到项目实战课件第7章 3.0 基础 项目 实战 课件
- 资源描述:
-
1、 本章将首先介绍面向对象编程的基本概念,继而介绍本章将首先介绍面向对象编程的基本概念,继而介绍面向对象的基本内容,包括类与对象。本章将着重介绍类面向对象的基本内容,包括类与对象。本章将着重介绍类与对象的概念、类内部的数据成员与函数成员以及这些成与对象的概念、类内部的数据成员与函数成员以及这些成员的访问方式。最后介绍静态类、静态成员、部分类和命员的访问方式。最后介绍静态类、静态成员、部分类和命名空间等。名空间等。章节内容章节内容7.1 面向对象编程的基本知识面向对象编程的基本知识7.2 类与对象类与对象 7.3 类的成员类的成员 7.4 部分类部分类 7.5 类与命名空间类与命名空间 7.6 小
2、结小结 7.1.1 面向对象编程的历史 1967年年5月月20日,挪威奥斯陆计算机中心的日,挪威奥斯陆计算机中心的Ole-Johan Dahl和和Kristen Nygaad为了解决模拟问题,设计了第一个为了解决模拟问题,设计了第一个面向对象的程序设计语言面向对象的程序设计语言Simula,此时就有了类和实例化,此时就有了类和实例化的概念。的概念。70年代,年代,PARC研究所推出了研究所推出了Smalltalk语言,引入了动态语言,引入了动态对象和继承性思想。对象和继承性思想。Smalltalk语言被认为是第一个真正的语言被认为是第一个真正的面向对象程序语言。面向对象程序语言。到到80年代中
3、后期,面向对象的程序设计日益成熟,并被整年代中后期,面向对象的程序设计日益成熟,并被整个计算机界接受和追逐,面向对象的开发问题便出现了。个计算机界接受和追逐,面向对象的开发问题便出现了。90年代,年代,Microsoft Visual系列面向对象的程序设计软件系列面向对象的程序设计软件逐渐流行,面向对象的编程已经成为无可取代的潮流,并逐渐流行,面向对象的编程已经成为无可取代的潮流,并在无数人的努力下,逐渐走向成熟。在无数人的努力下,逐渐走向成熟。7.1.2 面向对象编程的概念 面向对象编程的对象,即系统中用于描述客观事面向对象编程的对象,即系统中用于描述客观事物的一个实体,是构成系统的一个基本
4、单位。物的一个实体,是构成系统的一个基本单位。面向对象编程中的类,是具有相同数据成员和函面向对象编程中的类,是具有相同数据成员和函数成员的一组对象的集合,它为属于该类的全部数成员的一组对象的集合,它为属于该类的全部对象提供了抽象的描述。对象提供了抽象的描述。面向对象编程的基本内容就是把数据和函数面向对象编程的基本内容就是把数据和函数“封封装装”到编程所必需的到编程所必需的“对象对象”中,程序由一个个中,程序由一个个能够起到子程序作用的对象(或单元)组合而成能够起到子程序作用的对象(或单元)组合而成 7.1.3 面向对象编程的基本特点 1封装。面向对象技术中的封装,简单来说就封装。面向对象技术中
5、的封装,简单来说就是将代码及其处理的数据绑定在一起,形成一个是将代码及其处理的数据绑定在一起,形成一个独立单位,对外实现完整功能,并尽可能隐藏对独立单位,对外实现完整功能,并尽可能隐藏对象的内部细节象的内部细节。2继承。继承(继承。继承(Inheritance)也称作派生,指)也称作派生,指的是特殊类的对象自动拥有一般类的全部数据成的是特殊类的对象自动拥有一般类的全部数据成员与函数成员(构造函数和析构函数除外)。员与函数成员(构造函数和析构函数除外)。3多态。多态性(多态。多态性(Polymorphism)是指一般类)是指一般类中定义的属性或行为,被特殊类继承之后,可以中定义的属性或行为,被特
6、殊类继承之后,可以具有不同的数据类型或表现出不同的行为。具有不同的数据类型或表现出不同的行为。7.2 类与对象角色名:性别:出处:地位:门派地位:爱侣:父亲:母亲:张无忌男倚天屠龙记主角明教教主赵敏张翠山殷素素类对象7.2.1 类的定义1.1.语法:语法:class-modifiers class identifier:class-base class-body;2.2.注意:注意:l工程是任何工程是任何.NET Framework应用程序的基本构造块,可以简单理解应用程序的基本构造块,可以简单理解 为一个为一个EXE或或DLL。l类的默认修饰符为类的默认修饰符为internal。l一个类只能
7、有一个访问修饰符,使用一个类只能有一个访问修饰符,使用protected internal组合时除外。组合时除外。l子类的可访问性不能高于父类。子类的可访问性不能高于父类。7.2.1 类的定义修饰符含义特点public公共对该类的访问不限制private私有访问仅限于类本身protected受保护访问仅限于类本身或从包含类派生的类型internal内部访问仅限于当前工程,类的默认修饰符abstract抽象该类不能生成实例sealed密封该类不允许被继承new只嵌套用表明类中隐藏了由基类中继承来的,与基类中同名的类型7.2.2 对象 语法:Role ZhangWuji=new Role();张无
8、忌男倚天屠龙记主角明教教主赵敏张翠山殷素素7.3 类的成员类的成员主要有数据成员和函数成员,也类的成员主要有数据成员和函数成员,也可以嵌套其他类型(如其他类、结构、枚可以嵌套其他类型(如其他类、结构、枚举等)举等)。7.3.1 成员访问属性修饰符含义特点public公有成员任何代码均可以访问该成员private私有成员仅限类内部的成员才能访问该成员,是默认访问属性protected保护成员所在类和所在类的派生类可以访问internal内部成员程序集内部可以访问using System;class Vehicle/定义汽车类定义汽车类 public int wheels;/公有成员:轮子个数公有
9、成员:轮子个数 protected float weight;/保护成员:重量保护成员:重量 public void F()wheels=4;/正确,允许访问自身成员正确,允许访问自身成员 weight=10;/正确,允许访问自身成员正确,允许访问自身成员 7.3.1 成员访问属性class train/定义火车类定义火车类 public int num;/公有成员:车厢数目公有成员:车厢数目 private int passengers;/私有成员:乘客数私有成员:乘客数 private float weight;/私有成员:重量私有成员:重量 public void F()num=5;/正
10、确,允许访问自身成员正确,允许访问自身成员 weight=100;/正确,允许访问自身成员正确,允许访问自身成员 Vehicle v1=new Vehicle();V1.wheels=4;/正确,允许访问正确,允许访问v1的公有成员的公有成员 /v1.weight=6;/错误,不允许访问错误,不允许访问v1的保护成员的保护成员 7.3.1 成员访问属性类的数据成员包含字段、常量和事件。类的数据成员包含字段、常量和事件。1字段。字段用于表示与对象或类相关联的变量,包括字段。字段用于表示与对象或类相关联的变量,包括静态字段、实例字段和只读字段。静态字段、实例字段和只读字段。见下例。见下例。2常量。
11、常量与类的关联方式和变量与类的关联方式相常量。常量与类的关联方式和变量与类的关联方式相同。使用同。使用const关键字声明常量,如果它们声明为关键字声明常量,如果它们声明为public,就可以在类的外部访问。见下例。就可以在类的外部访问。见下例。3事件。事件是类的成员,在类或对象发生某些行为事件。事件是类的成员,在类或对象发生某些行为(例如用户的交互操作或者改变了类的某些字段或属性)(例如用户的交互操作或者改变了类的某些字段或属性)时,它可以让对象通知调用程序。客户端可以包含所谓时,它可以让对象通知调用程序。客户端可以包含所谓“事件处理程序事件处理程序”的代码来响应该事件。有关事件的详细的代码
12、来响应该事件。有关事件的详细介绍可参见第介绍可参见第9章。章。7.3.2 数据成员class Goods public double height;/实例字段实例字段 public readonly double width=30;/只读字段在声明时赋值只读字段在声明时赋值 public static int count=0;/静态字段,静态字段,public Goods(double h,double w)height=h;width=w;/只读字段在构造函数中赋值只读字段在构造函数中赋值 count+;static void Main(string args)Goods y=new Goo
展开阅读全文