C#面向对象程序设计-正式版课件.ppt

上传人(卖家):三亚风情 文档编号:2902056 上传时间:2022-06-09 格式:PPT 页数:19 大小:196.50KB
下载 相关 举报
C#面向对象程序设计-正式版课件.ppt_第1页
第1页 / 共19页
C#面向对象程序设计-正式版课件.ppt_第2页
第2页 / 共19页
C#面向对象程序设计-正式版课件.ppt_第3页
第3页 / 共19页
C#面向对象程序设计-正式版课件.ppt_第4页
第4页 / 共19页
C#面向对象程序设计-正式版课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、C#面向对象程序设计概念主讲人:个人简介面向对象面向对象的软件开发技术是当今计算机技术发展的重要成果和趋势之一。 C#是是完全完全面向对象的程序设计语言面向对象的程序设计语言。类和对象类和对象是面向对象程序设计中的重要概念。封装性、继承性和多态性封装性、继承性和多态性是面向对象的特点。 本章主要介绍面向对象程序设计中的基本概念类和对象类和对象一 面向对象的概述1.1 面向对象的概念面向对象程序设计面向对象程序设计(Object-Oriented Programming)简称OOP技术。OOP是一种系统化的程序设计方法,强调直接以是一种系统化的程序设计方法,强调直接以问题域问题域(即现实世(即现

2、实世界)中的界)中的事物事物为中心来考虑问题,并按照这些事物的本质特征把它们为中心来考虑问题,并按照这些事物的本质特征把它们抽象为对象。抽象为对象。OOP的主要思想是将数据及处理这些数据的操作都封装的主要思想是将数据及处理这些数据的操作都封装(Encapsulation)到一个称为)到一个称为类(类(Class)的数据结构中。的数据结构中。在这种方法下,编程人员不需要过分关注在这种方法下,编程人员不需要过分关注“如何做如何做”,而是重点关注,而是重点关注“做什么做什么”。OOP编程思想较好地适应了现实世界中的问题,因而编程思想较好地适应了现实世界中的问题,因而得以广泛应用。得以广泛应用。1.2

3、 面向对象语言的特点面向对象语言的特点 面向对象的编程方式具有继承、封装和多态性特点。(1)继承继承 继承(inheritance)是面向对象编程技术的一块基石,通过它可以创建分等级层次关系的类。继承是父类和子类之间共享数据和方法的机制,通常把父继承是父类和子类之间共享数据和方法的机制,通常把父类称为基类,子类称为派生类类称为基类,子类称为派生类。子类可以从其父类中继承属性和方法,通过这种关系模型可以简化类的设计。 假如已经定义了A类,接下来准备定义B类,而B类中有很多属性和方法与A类相同,那么就可以实现B类继承于A类,这样就无须再在B类中定义A类中已具有的属性和方法,从而可以在很大程度上提高

4、程序的开发效率,提高代码利用率。例如,可以将水果看作一个父类,那么水果类具有颜色属性。然后再定义一个香蕉类,在定义香蕉类时就不需要定义香蕉类的颜色属性,通过如下继承关系可以使香蕉类具有颜色属性。class 水果类Public 颜色;/在水果类中定义颜色属性class 香蕉类 : 水果类/香蕉类中其他的属性和方法1.2 面向对象语言的特点面向对象语言的特点1.2 面向对象语言的特点面向对象语言的特点(2) 封装封装 类是属性和方法的集合,为了实现某项功能而定义类后,开发人员并不需要了解类体内每行代码的具体涵义,只需通过对象来调用类内某个属性或方法即可实现某项功能,这就是类的封装。 封装提供了外界

5、与对象进行交互的控制机制,设计和实施者可以公开外界需要直接操作的属性和方法,而把其他的属性和方法隐藏在对象内部。这样可以让软件程序封装化,而且可以避免外界错误地使用属性和方法。1.2 面向对象语言的特点面向对象语言的特点 以汽车为例,厂商把汽车的颜色公开给外界,外界想怎么改颜色都可以的,但是防盗系统的内部构造是隐藏起来的;更换汽缸可以是公开的行为,但是汽缸和发动机的协调方法就没有必要让用户知道了。1.2 面向对象语言的特点面向对象语言的特点(3) 多态性多态性 类的多态性(polymorph)指对于属于同一个类的对象,在不同的场合能够表现出不同的特征。 多态性主要指在一般类中定义的属性或行为,

6、被特殊类继承之后,可以具有不同数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类具有不同的意义。 例如:某个对象,其基类为“笔”,在调用它的“写”方法时,程序会自动判断出它的具体类型,如果是毛笔,则调用毛笔类对应的“写”方法,如果是铅笔,则调用铅笔类对应的“写”方法。2 定义类 在C#中,“类”是一种数据结构,它可以包含数据成员数据成员(常量和字段)、函数成员函数成员(方法、属性、事件、索引器、运算符、构造函数、析构函数)。类是个静态的概念类是个静态的概念,如果要使用某个类,就应该定义该类的一个或多个实例,每一个实例就是一个对象。如果要使用某个类,只要向该类发送消息即可,

7、而对象会利用自身存在的函数来响应接收的消息。 类支持继承,继承是一种使派生类可以对基类进行扩展和专用化的机制。2.1 类的概念 类是对象概念在面向对象编程语言中的反映,是相同对象的集合。类描述了一系列在概念上有相同含义的对象,并为这些对象统一定义了属性和方法。类是对象的抽象描述和概括类是对象的抽象描述和概括。例如:车是一个类,自行车、汽车、火车也是类。但是自行车、汽车、火车都是车这个类的子类。因为他们有共同的特点都是交通工具,都有轮子,都可以运输。而汽车有颜色,车轮、车门、发动机,这是和自行车、火车的不同之处,是汽车类自己的属性。2.1 类的概念 而具体到某辆汽车就是一个对象了,例如:车牌照为

8、苏A2345*的黑色奥迪轿车。用具体的属性可以在汽车类中唯一确定自己,并且对象具有类的操作。简而言之,类是C#中最为强大的数据类型,它定义了数据类型的数据和行为。 在C#中,所有的内容都被封装在类中,类是C#的基础,每个类通过属性和方法及其他一些成员来表达事物的状态和行为。 事实上,编写C#程序的主要任务就是定义各种类及类的各种成员。2.2 类的声明 简单地讲,类是一种数据结构,用于模拟现实中存在的对象和关系,包含静态的属性和动态的方法。C#中类的声明需要使用class关键字,并把类的主体放在花括号中,格式如下:类修饰符 class 类名 :基类类名/属性/方法其中,除了class关键字和类名

9、外,剩余的都是可选项;类名必须是合法的C#标识符,它将作为新定义的类的类型标识符。2.2 类的声明 class关键字前面是访问级别。在C#中,类的访问级别由类的修饰符进行限定,类的修饰符如表5-1所示。在上例中,如果类的修饰符为public,这表示该类可以被任何其他类访问。类的名称位于class关键字的后面。2.2 类的声明以上的类修饰符可以两个或多个组合起来使用,但需要注意下面几点:(1) 在一个类声明中,同一类修饰符不能多次出现,否则会出错。(2) new类修饰符仅允许在嵌套类中表示类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员。(3) 在使用public、protec

10、ted、internal和private这些类修饰符时,要注意这些类修饰符不仅表示所定义类的访问特性,而且还表明类中成员声明中的访问特性,并且它们的可用性也会对派生类造成影响。(4) 抽象类修饰符abstract和密封类修饰符sealed都是受限类修饰符。(5) 如果省略类修饰符,则默认为私有修饰符private。(6) 对于具有继承关系的类才有基类。如果一个类没有从任何类继承,就不需要基类类名选项。在C#中,一个类只能从另一个类中继承,而不能从多个类中继承;而在C+及其他面向对象的程序设计语言中,一个类可以从多个其他类中继承。如果一个类想继承多个类的特点,可以采用接口的方法实现。2.2 类的

11、声明-实例 下面以一个学生类的实例,说明该类在C#中的实现。该类的类图如图5-3所示。【例【例5-1】定义一个学生类。public class Student /属性 /学号、姓名、年龄等 /方法 /长大、入学、毕业等类是现实世界中对象或者关系的模拟,是一个抽象的概念。例如,像类是现实世界中对象或者关系的模拟,是一个抽象的概念。例如,像“学生学生”这个概念,世界上并没有一个叫做这个概念,世界上并没有一个叫做“学生学生”的活生生的东西,的活生生的东西,而只有而只有“张三张三”或者或者“李四李四”这些具体的学生实例,这反应了类和对这些具体的学生实例,这反应了类和对象的关系。象的关系。(1)类是具有

12、相同或相似结构、操作和约束规则的类是具有相同或相似结构、操作和约束规则的对象组成的集合对象组成的集合。(2)对象是某一类的具体化实例,每一个类都具有某些共同特征对象对象是某一类的具体化实例,每一个类都具有某些共同特征对象的抽象。的抽象。C#使用使用new关键字来实现实例化类得到一个具体的对象,其格式如关键字来实现实例化类得到一个具体的对象,其格式如下:下:class-name object-name=new Class-name(paramenter-list);在前面的示例中已经用到创建类实例,都是使用在前面的示例中已经用到创建类实例,都是使用new关键字得到一个关键字得到一个具体的学生对象。如下列代码所示:具体的学生对象。如下列代码所示:Student s = new Student();3 结论 本章主要介绍了面向对象的一些基本知识,包括对象和类。 面向对象语言的特点:继承、封装和多态性。 类的定义以及类的声明。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C#面向对象程序设计-正式版课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|