05 面向对象编程:类和对象new

05 面向对象编程:类和对象new

ID:34615752

大小:254.64 KB

页数:10页

时间:2019-03-08

05  面向对象编程:类和对象new_第1页
05  面向对象编程:类和对象new_第2页
05  面向对象编程:类和对象new_第3页
05  面向对象编程:类和对象new_第4页
05  面向对象编程:类和对象new_第5页
资源描述:

《05 面向对象编程:类和对象new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章类和对象.NET在线培训学习资料更多学习材料,请到www.rzchina.net下载在面向对象程序设计中,类是一个非常重要的概念,类可以定义为对于数据以及数据依赖的功能进行的封装。例如,水果在蔬菜中就是一个类,苹果、桃子等水果都是水果类的派生类。水果具有的色、香、味等功能就是水果类的属性,将水果和水果的属性结合起来的,才能称之为水果类。如果水果类只是单纯的具有一个空的水果类定义,则称之为虚类。对象则是类的一个明确化定义,在程序中不能直接使用类的定义,这是任何面向对象程序语言设定的基础。如果想要使用类,则需要事先声明一个对象,该对象被称之为是类的一个

2、“实例化”,通过对象才能使用类的属性和成员函数,正如前面章节中多次使用的那样。本章将系统的介绍类和对象的各种基础概念,第一部分解释和理解类的概念,包括类的实例成员、访问修饰符、构造函数、初始化函数等。第二部分将分析静态成员以及常量和只读字段的差异性,也将讨论类的继承问题。5.1理解类的概念在现实世界中,分类是无处不在的。例如,自然界是由有机体和无机体组成,同样,动物、植物都是有机体,也就是有机体的两种分类,而动物又可以区分出很多种,植物也同样如此,这反映在分类的概念上,如图5-1所示。第5章类和对象·115·图5-1自然界的分类为了对这些分类的概念有清晰

3、的描述,产生了类的概念。类是对分类的准确描述,通过类的概念可以将每个分类的特征加以区分,产生不同的类别。类别同时也是自然界进化的产物,如果说对事务的直接表述是从微观看问题的话,对类的描述和总结就是从宏观的角度分析事务的性质。面向对象程序设计就是对上述思想的继承,所有的面向对象语言基本上都遵循这个思想,C#也不例外。在C#语言中,类是编程中的基本要素。每个函数和变量都要依赖于一个类来实现。例如,在前面的实例程序中,每个命名空间下面都会产生一个与工程项目名称相同的类,诸如Main()函数等函数都归属于这个类,也可以将其称之为“主”类。如果程序较为复杂,描述的

4、类比较多,则各个类之间的关系是相互平行的,不存在相互之间的归属关系,除非一个类是继承自另外一个类的情况出现。注意无论一个程序中的类有多少,程序的入口Main()函数均只有一个,也就是“主”类中的Main()函数,其余类中均不能再出现Main()函数,其成员函数只能作为简单的成员出现,而不是可直接调用的入口函数。5.2定义类C#语言中定义一个类是件非常简单的事情。先来看一个简单的类声明:ClassEmployee{privatelongemployerID;}类的声明中使用到的关键字是Class,这个关键字表明了接下来定义的是一个类类型,而不是其余。接着,

5、在Class的后面需要定义一个类的名称,类的名称可以随便取,这里使用的是Employee。在类的内部可以定义类的成员,如成员函数、成员变量等,这里定义的是一个私有的long型变量employerID,这个变量是私有的变量,所以只能在Employee类的内部使用,如果是Employee类的子类希望调用该变量,编译器会禁止这么做。在有些情况下,熟练的C++程序员也会在类的定义之后加上一个分号(;),这样做也是被允许的,如下所示的两段代码是相同的:ClassMyclass{//Members}ClassMyclass·116·{//Members};5.2.1

6、类的成员直观的说,类是由成员构成的。在一个类的定义中,任何东西都可以被定义成类的成员,这些东西包括成员变量和成员函数。下面是可以定义为类的成员的各种类型:ß字段:字段用于保存值的成员变量,可以对一个字段应用几个修饰符,这主要取决于对于变量的使用情况。如变量可以应用的修饰符有static、readonly和const等。ß方法:方法是对对象进行操作的实际代码段,各种成员函数和结构类型都可以称之为方法。ß特性:特性是一种特殊的方法,从感觉上可以认为特性是一种新的类型,使用者在使用时感觉更像是在使用字段,而不是使用方法,这样可以得到更好的抽象度,特性也被称之为

7、smartfield。ß常量:变量的一种类型,指的是值不会改变的变量,与readonly有所区别。ß索引器:索引器的使用感觉与数组差不多,有时也被称之为smartarray,这种类型使得在操作时就好像是在操作数组一样。例如,ListBox类拥有用于操作和表示控件数据的字段和方法,但是这个类从概念上说将由其显示的数据数组来定义。索引器通过下标使用实际的对象。ß事件:面向对象语言是事件驱动型语言,就是说所有的执行代码都以事件的形式出现。例如,在Windows模式下编程,鼠标点击就是一种事件;窗口的放大和缩小也是一种事件,都有相应的事件在背后驱动。ß操作符:C

8、#语言通过操作符重载提供了向类中添加标准数学操作符的能力,这样可以写出更直观的代

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

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

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