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

上传人:小飞机 文档编号:3725772 上传时间:2023-03-17 格式: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页
点击查看更多>>
资源描述

《C#面向对象程序设计-正式版课件.ppt》由会员分享,可在线阅读,更多相关《C#面向对象程序设计-正式版课件.ppt(19页珍藏版)》请在三一办公上搜索。

1、C#面向对象程序设计概念,主讲人:,个人简介,面向对象的软件开发技术是当今计算机技术发展的重要成果和趋势之一。C#是完全面向对象的程序设计语言。类和对象是面向对象程序设计中的重要概念。封装性、继承性和多态性是面向对象的特点。本章主要介绍面向对象程序设计中的基本概念类和对象,一 面向对象的概述,1.1 面向对象的概念面向对象程序设计(Object-Oriented Programming)简称OOP技术。OOP是一种系统化的程序设计方法,强调直接以问题域(即现实世界)中的事物为中心来考虑问题,并按照这些事物的本质特征把它们抽象为对象。OOP的主要思想是将数据及处理这些数据的操作都封装(Encap

2、sulation)到一个称为类(Class)的数据结构中。在这种方法下,编程人员不需要过分关注“如何做”,而是重点关注“做什么”。OOP编程思想较好地适应了现实世界中的问题,因而得以广泛应用。,1.2 面向对象语言的特点,面向对象的编程方式具有继承、封装和多态性特点。(1)继承继承(inheritance)是面向对象编程技术的一块基石,通过它可以创建分等级层次关系的类。继承是父类和子类之间共享数据和方法的机制,通常把父类称为基类,子类称为派生类。子类可以从其父类中继承属性和方法,通过这种关系模型可以简化类的设计。假如已经定义了A类,接下来准备定义B类,而B类中有很多属性和方法与A类相同,那么就

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

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

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

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

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

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

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

10、C#中的实现。该类的类图如图5-3所示。【例5-1】定义一个学生类。public class Student/属性/学号、姓名、年龄等/方法/长大、入学、毕业等,类是现实世界中对象或者关系的模拟,是一个抽象的概念。例如,像“学生”这个概念,世界上并没有一个叫做“学生”的活生生的东西,而只有“张三”或者“李四”这些具体的学生实例,这反应了类和对象的关系。(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合。(2)对象是某一类的具体化实例,每一个类都具有某些共同特征对象的抽象。C#使用new关键字来实现实例化类得到一个具体的对象,其格式如下:class-name object-name=new Class-name(paramenter-list);在前面的示例中已经用到创建类实例,都是使用new关键字得到一个具体的学生对象。如下列代码所示:Student s=new Student();,3 结论,本章主要介绍了面向对象的一些基本知识,包括对象和类。面向对象语言的特点:继承、封装和多态性。类的定义以及类的声明。,感谢各位领导、老师的指导!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号