面向对象程序设计基础ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《面向对象程序设计基础ppt课件.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计基础ppt课件.ppt(189页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程第5章 面向对象程序设计基础病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程面向对象面向对象的软件开发技术是当今计算机技术发展的重要成果和趋势之一。C#C#是完全面向对象的程序设计语言是完全面向对象的程序设计语言。类和对象类和对象是面向对象程序设计中的重要概念。封装性、继承性和多态性封装性、继承性和多态性是面向对象的特点。本章主要介绍面向对象程序设计中的基本概念和基于C#的面向对象程序设计的方法。2023/5/72C#程序设
2、计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程 5.1 面向对象概述5.1.1 面向对象的概念面面 向向 对对 象象 程程 序序 设设 计计(Object-Oriented Programming)简称OOP技术。面向对象编程技术是计算机编程技术中一次重大的进步。在面向对象编程技术出现之前,程序的设计普遍采用的是面向过程的程序设计方法。2023/5/73C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.1 面向对象的概念OOPOOP是
3、一种系统化的程序设计方法,强调直接以问题域(即是一种系统化的程序设计方法,强调直接以问题域(即现实世界)中的事物为中心来考虑问题,并按照这些事物现实世界)中的事物为中心来考虑问题,并按照这些事物的本质特征把它们抽象为对象。的本质特征把它们抽象为对象。OOPOOP的主要思想是将数据及处理这些数据的操作都封装的主要思想是将数据及处理这些数据的操作都封装(EncapsulationEncapsulation)到一个称为类()到一个称为类(ClassClass)的数据结构中。)的数据结构中。使用这个类时,只需要定义一个类的变量即可,这个变量使用这个类时,只需要定义一个类的变量即可,这个变量(Objec
4、tObject)通过调用对象的数据成员完成对类的使用。)通过调用对象的数据成员完成对类的使用。在这种方法下,编程人员不需要过分关注在这种方法下,编程人员不需要过分关注“如何做如何做”,而,而是重点关注是重点关注“做什么做什么”。OOPOOP编程思想较好地适应了现实世编程思想较好地适应了现实世界中的问题,因而得以广泛应用。界中的问题,因而得以广泛应用。2023/5/74C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点面向对象的编程方式具有继承、封装和多态性等特点。(1)(1)继承继承在
5、生活中,事物有很多的相似性,这种相似性是人们理解纷繁事物的一个基础。因为事物之间往往具有某种“继承”关系。比如,儿子和父亲往往有许多相似之处,因为儿子从父亲那里遗传了许多特性;汽车与卡车、轿车、客车之间存在一般化与具体化的关系,它们也可以用继承来实现。2023/5/75C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点继承(inheritance)是面向对象编程技术的一块基石,通过它可以创建分等级层次关系的类。继承是父类和子类之间共享数据和方法的机制,通继承是父类和子类之间共享数据和方
6、法的机制,通常把父类称为基类,子类称为派生类常把父类称为基类,子类称为派生类。子类可以从其父类中继承属性和方法,通过这种关系模型可以简化类的设计。假如已经定义了A类,接下来准备定义B类,而B类中有很多属性和方法与A类相同,那么就可以实现B类继承于A类,这样就无须再在B类中定义A类中已具有的属性和方法,从而可以在很大程序上提高程序的开发效率,提高代码利用率。2023/5/76C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点例如,可以将水果看作一个父类,那么水果类具有颜色属性。然后再定义
7、一个香蕉类,在定义香蕉类时就不需要定义香蕉类的颜色属性,通过如下继承关系可以使香蕉类具有颜色属性。class 水果类Public 颜色;/在水果类中定义颜色属性class 香蕉类:水果类/香蕉类中其他的属性和方法2023/5/77C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点(2)(2)封装封装类是属性和方法的集合,为了实现某项功能而定义类后,开发人员并不需要了解类体内每行代码的具体涵义,只需通过对象来调用类内某个属性或方法即可实现某项功能,这就是类的封装。封装提供了外界与对象进行
8、交互的控制机制,设计和实施者可以公开外界需要直接操作的属性和方法,而把其他的属性和方法隐藏在对象内部。这样可以让软件程序封装化,而且可以避免外界错误地使用属性和方法。2023/5/78C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点以汽车为例,厂商把汽车的颜色公开给外界,外界想怎么改颜色都可以的,但是防盗系统的内部构造是隐藏起来的;更换汽缸可以是公开的行为,但是汽缸和发动机的协调方法就没有必要让用户知道了。2023/5/79C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机
9、体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.1.2 面向对象语言的特点(3)(3)多态性多态性类的多态(polymorph)指对于属于同一个类的对象,在不同的场合能够表现出不同的特征。多态性主要指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类具有不同的意义。例如:某个对象,其基类为“笔”,在调用它的“写”方法时,程序会自动判断出它的具体类型,如果是毛笔,则调用毛类对应的“写”方法,如果是铅笔,则调用铅笔对应的“写”方法。2023/5/710C#程序设计实用教程病原体侵入机体,消弱机
10、体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程 5.2定义类在C#中,“类”是一种数据结构,它可以包含数据成员数据成员(常量和字段)、函数成员函数成员(方法、属性、事件、索引器、运算符、构造函数、析构函数)。类是个静态的概念类是个静态的概念,如果要使用某个类,就应该定义该类的一个或多个实例,每一个实例就是一个对象。如果要使用某个类,只要向该类发送消息即可,而对象会利用自身存在的函数来响应接收的消息。类类型支持继承,继承是一种使派生类可以对基类进行扩展和专用化的机制。2023/5/711C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境
11、的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.1 类的概念类是对象概念在面向对象编程语言中的反映,是相同对象的集合。类描述了一系列在概念上有相同含义的对象,并为这些对象统一定义了属性和方法。类是对象的抽象描述和概括类是对象的抽象描述和概括。例如:车是一个类,自行车、汽车、火车也是类。但是自行车、汽车、火车都是车这个类的子类。因为他们有共同的特点都是交通工具,都有轮子,都可以运输。而汽车有颜色,车轮、车门、发动机,这是和自行车、火车的不同之处,是汽车类自己的属性。而具体到某辆汽车就是一个对象了,例如:车牌照为苏A2345*的黑色奥迪轿车。用具体的属性可以在汽车类中唯一确定
12、自己,并且对象具有类的操作。简而言之,类是C#中最为强大的数据类型,它定义了数据类型的数据和行为。2023/5/712C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.1 类的概念在C#中,所有的内容都被封装在类中,类是C#的基础,每个类通过属性和方法及其他一些成员来表达事物的状态和行为。事实上,编写C#程序的主要任务就是定义各种类及类的各种成员。2023/5/713C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2
13、类的声明简单地讲,类是一种数据结构,用于模拟现实中存在的对象和关系,包含静态的属性和动态的方法。下面来看如何声明类及其属性、方法。在声明一个类之前,需要向工程中新添加一个文件。2023/5/714C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明1.1.向工程添加新项目向工程添加新项目在VS.NET中添加一个新的类文件以及其他新项目。操作很简单,具体步骤如下:(1 1)在【解决方案浏览器】视图中,在工程上单击右键,再在打开的快捷菜单中选择【添加】【类】,如图5-1所示。2023/5/715C#程
14、序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明(2 2)在此时弹出的对话框中选择添加类文件,并为新文件命在此时弹出的对话框中选择添加类文件,并为新文件命名,以名,以.cs.cs作为后缀,如图作为后缀,如图5-25-2所示。所示。(3 3)单击单击【打开打开】按钮后,就可以在按钮后,就可以在【解决方案浏览器解决方案浏览器】视视图中看到这个新的类文件了。图中看到这个新的类文件了。(4 4)双击该类文件,可以在其中声明新的类。双击该类文件,可以在其中声明新的类。当然,也可以把多个功能类似的类放在一个类文
15、件中。当然,也可以把多个功能类似的类放在一个类文件中。2023/5/716C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明2.2.声明类声明类C#中类的声明需要使用class关键字,并把类的主体放在花括号中,格式如下:类修饰符 class 类名:基类类名/属性/方法其中,除了class关键字和类名外,剩余的都是可选项;类名必须是合法的C#标识符,它将作为新定义的类的类型标识符。2023/5/717C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长
16、繁殖,引起不同程度的病理生理过程5.2.2 类的声明注意:注意:为了促进C#程序的标准化和可读性,应尽量采用.NET Framework推荐的类命名规则:类名尽量是一个名词或者名词短语,首字母大写,并尽量避免缩写。class关键字前面是访问级别。在C#中,类的访问级别由类的修饰符进行限定,类的修饰符如表5-1所示。在上例中,如果类的修饰符为public,这表示该类可以被任何其他类访问。类的名称位于class关键字的后面。2023/5/718C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明以上的
17、类修饰符可以两个或多个组合起来使用,但需要注意下面几点:(1)在一个类声明中,同一类修饰符不能多次出现,否则会出错。(2)new类修饰符仅允许在嵌套类中表示类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员。2023/5/719C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明(3)(3)在使用public、protected、internal和private这些类修饰符时,要注意这些类修饰符不仅表示所定义类的访问特性,而且还表明类中成员声明中的访问特性,并且它们的可用性也会对派
18、生类造成影响。(4)(4)抽象类修饰符abstract和密封类修饰符sealed都是受限类修饰符。2023/5/720C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明(5)(5)如果省略类修饰符,则默认为修饰符internalinternal。(6)(6)对于具有继承关系的类才有基类。如果一个类没有从任何类继承,就不需要基类类名选项。在C#中,一个类只能从另一个类中继承,而不能从多个类中继承;而在C+及其他面向对象的程序设计语言中,一个类可以从多个其他类中继承。如果一个类想继承多个类的特点,可
19、以采用接口的方法实现。2023/5/721C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程Msdn:搜索access modifiersClass and Struct AccessibilityClass and Struct Accessibility Classes and structs that are declared directly within a namespace(in other words,that are not nested within other classes or struc
20、ts)can be either public or internal.Internal is the default if no access modifier is specified.病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程Class and Struct Member AccessibilityClass and Struct Member Accessibility Class members(including nested classes and structs)can be declared with any
21、 of the five types of access.Struct members cannot be declared as protected because structs do not support inheritance.病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程访问权限控制图解访问权限控制图解病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程publicpublic The type or member can be accessed by any
22、other code in the same assembly or another assembly that references it.privateprivate The type or member can be accessed only by code in the same class or struct.protectedprotected The type or member can be accessed only by code in the same class or struct,or in a class that is derived from that cla
23、ss.internalinternal The type or member can be accessed by any code in the same assembly,but not from another assembly.protected internal protected internal The type or member can be accessed by any code in the assembly in which it is declared,or from within a derived class in another assembly.Access
24、 from another assembly must take place within a class declaration that derives from the class in which the protected internal element is declared,and it must take place through an instance of the derived class type.病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.2 类的声明下面以一个学生类的实例,说明该类在C#中
25、的实现。该类的类图如图5-3所示。【例例5-15-1】定义一个学生类。public class Student /属性 /学号、姓名、年龄等 /方法 /长大、入学、毕业等2023/5/726C#程序设计实用教程病原体侵入机体,消弱机体防御机能,破坏机体内环境的相对稳定性,且在一定部位生长繁殖,引起不同程度的病理生理过程5.2.3 类的静态特性属性(或字段)可以看作是类的静态描述,同样,在定义属性时,也可以使用访问修饰符来定义其访问级别。属性的定义格式如下:attribe-modifier data-type attribute-name;其中,属性修饰符attribe-modifier包括pu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 基础 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内