面向对象程序设计优秀课件.ppt
《面向对象程序设计优秀课件.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计优秀课件.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计面向对象程序设计第1页,本讲稿共73页 面向对象程序设计简介面向对象程序设计简介3.1 继承、多态与接口继承、多态与接口3.2 接接 口口 3.3第2页,本讲稿共73页 3.1 3.1 面向对象程序设计简介面向对象程序设计简介 3.1.1 面向对象的基本概念面向对象的基本概念第3页,本讲稿共73页抽象抽象 软件开发使用的抽象主要有两类:过程抽象和数据抽软件开发使用的抽象主要有两类:过程抽象和数据抽象。象。过程抽象将整个系统的功能划分为若干部分过程抽象将整个系统的功能划分为若干部分数据抽象把系统中需要处理的数据和对这些数据的操作结数据抽象把系统中需要处理的数据和对这些数据的操作结
2、合在一起合在一起第4页,本讲稿共73页封装封装 2.目的:封装的主要目的是达到接口和实现的分离。目的:封装的主要目的是达到接口和实现的分离。1.定义:定义:封装是指使用抽象数据类型将数据和基于数据封装是指使用抽象数据类型将数据和基于数据的操作包装在一起。的操作包装在一起。封装:封装:第5页,本讲稿共73页类与对象类与对象 1对象(对象(object)对象指的是一个实体的实例,在这个实体中包括了特定的属性数据对象指的是一个实体的实例,在这个实体中包括了特定的属性数据和对这些数据进行操作的方法。和对这些数据进行操作的方法。2类(类(class)类是一组具有相同数据结构和相同操作的对象的集合。类是一
3、组具有相同数据结构和相同操作的对象的集合。在一个类中,每个对象都是类的实例,可以使用类中提供的方法。在一个类中,每个对象都是类的实例,可以使用类中提供的方法。创建类的对象的操作,被称为类的实例化创建类的对象的操作,被称为类的实例化第6页,本讲稿共73页 3.1.2 类的定义类的定义 1类的定义类的定义 类的定义用关键字类的定义用关键字class来说明,完整来说明,完整的类定义的格式如下:的类定义的格式如下:第7页,本讲稿共73页 类修饰符类修饰符 class 类名类名:基类名基类名 /类的成员定义类的成员定义第8页,本讲稿共73页 2类的修饰符类的修饰符 类的修饰符用于设置类的访问权限,类的修
4、饰符用于设置类的访问权限,即对类进行封装。类的修饰符可以是以下即对类进行封装。类的修饰符可以是以下几种之一或者是它们的组合,在类的定义几种之一或者是它们的组合,在类的定义中,同一修饰符不允许出现多次。中,同一修饰符不允许出现多次。第9页,本讲稿共73页 internal:表示受内部的,只有其所在:表示受内部的,只有其所在同一程序集的文件中才能访问。同一程序集的文件中才能访问。public:表示公有的,对该类的访问:表示公有的,对该类的访问不会受到限制。不会受到限制。第10页,本讲稿共73页 protected:表示受保护的,只能从所:表示受保护的,只能从所在类和所在类派生的子类进行访问。在类和
5、所在类派生的子类进行访问。private:表示私有的,私有访问是允:表示私有的,私有访问是允许的最低访问级别许的最低访问级别,私有成员只有在声明它私有成员只有在声明它们的类中才是可访问的。们的类中才是可访问的。第11页,本讲稿共73页 new:仅允许在嵌套类声明时,使用:仅允许在嵌套类声明时,使用该修饰符表明类中隐藏了由基类中继承而该修饰符表明类中隐藏了由基类中继承而来的、与基类中同名的成员。来的、与基类中同名的成员。partial:在整个同一程序集中定义分:在整个同一程序集中定义分部类和结构。部类和结构。第12页,本讲稿共73页 abstract:表示该类为抽象类,不允许:表示该类为抽象类,
6、不允许为该类建立类的实例。为该类建立类的实例。sealed:表示该类为密封类,不允许被:表示该类为密封类,不允许被继承。继承。第13页,本讲稿共73页 3类的实例类的实例 使用使用new 关键字可以建立类的实例。关键字可以建立类的实例。第14页,本讲稿共73页 3.1.3 类的成员类的成员 1类的成员类型类的成员类型字段字段属性属性事件事件方法方法第15页,本讲稿共73页 2类成员的访问修饰符类成员的访问修饰符(1)public(2)private(3)protected(4)internal第16页,本讲稿共73页 3成员常量成员常量 可以使用关键字可以使用关键字const来声明类的常量来声
7、明类的常量成员,类的常量可以加上以下修饰符:成员,类的常量可以加上以下修饰符:new、public、protected、internal和和private。第17页,本讲稿共73页修饰符修饰符修饰符用于限定类型以及类型成员的申明修饰符用于限定类型以及类型成员的申明,c#中有中有13种修饰符种修饰符,按按功能可分为三部分功能可分为三部分:存取修饰符存取修饰符,类修饰符和成员修饰符类修饰符和成员修饰符.存取修饰符存取修饰符:public:存取不受限制存取不受限制.private:只有包含该成员的类可以存取只有包含该成员的类可以存取.internal:只有当前项目程序可以存取只有当前项目程序可以存取
8、.protected:只有包含该成员的类以及继承的类可以存取只有包含该成员的类以及继承的类可以存取.第18页,本讲稿共73页修饰符(续)修饰符(续)类修饰符类修饰符:abstract:可以被指示一个类只能作为其它类的基类可以被指示一个类只能作为其它类的基类.sealed:指示一个类不能被继承指示一个类不能被继承.成员修饰符成员修饰符:const:指定域或局部变量的值不能被改动指定域或局部变量的值不能被改动.event:声明一个事件声明一个事件.extern:指示方法在外部实现指示方法在外部实现.readonly:指示一个域只能在声明时以及相同类的内部被赋指示一个域只能在声明时以及相同类的内部被
9、赋值值.第19页,本讲稿共73页修饰符(续)修饰符(续)成员修饰符(续)成员修饰符(续):static:静态成员,指一个成员属于类本身静态成员,指一个成员属于类本身,而不是属于特定的对而不是属于特定的对象象.abstract:抽象方法,指该方法没有实现的方法体抽象方法,指该方法没有实现的方法体.override:对由基类继承成员的新实现(重写)对由基类继承成员的新实现(重写).virtual:指示一个方法或存取器的实现可以在继承类中被覆盖指示一个方法或存取器的实现可以在继承类中被覆盖(虚方法)(虚方法).第20页,本讲稿共73页 4this关键字关键字 关键字关键字this可用于引用类的当前实
10、例,可用于引用类的当前实例,可以在构造函数类的方法和类的实例中使可以在构造函数类的方法和类的实例中使用。用。第21页,本讲稿共73页 5静态成员与实例成员静态成员与实例成员1静态成员静态成员如果字段、方法、属性、事件、运算符或构造函数如果字段、方法、属性、事件、运算符或构造函数声明时指定了声明时指定了static修饰符,就等于声明了一个静态成员。修饰符,就等于声明了一个静态成员。2实例成员实例成员如果字段、方法、属性、事件、下标指示器、构造如果字段、方法、属性、事件、下标指示器、构造函数或析构函数声明时没有指定函数或析构函数声明时没有指定static修饰符,那么此时声修饰符,那么此时声明的是一
11、个实例成员(也称为非静态成员)。明的是一个实例成员(也称为非静态成员)。第22页,本讲稿共73页 类的非静态成员属于类的实例所有,每创建一个类的实例,类的非静态成员属于类的实例所有,每创建一个类的实例,都在内存中为非静态成员开辟了一块区域;而类的静态成员属于都在内存中为非静态成员开辟了一块区域;而类的静态成员属于类所有,为这个类的所有实例所共享,无论这个类创建了多少个类所有,为这个类的所有实例所共享,无论这个类创建了多少个实例,一个静态成员在内存中只占有一块区域。实例,一个静态成员在内存中只占有一块区域。静态成员成为类的全程成员,在整个类的使用全程范围内有静态成员成为类的全程成员,在整个类的使
12、用全程范围内有效,静态成员变量可以充当类的全程标志或计数变量。效,静态成员变量可以充当类的全程标志或计数变量。第23页,本讲稿共73页 由于静态成员函数全体共用的特性,它不能访由于静态成员函数全体共用的特性,它不能访问一般的类数据成员,而只能访问静态数据成员。问一般的类数据成员,而只能访问静态数据成员。同时,静态成员函数也不能使用同时,静态成员函数也不能使用this关键字,因为关键字,因为它不仅仅属于某个具体的实例。它不仅仅属于某个具体的实例。第24页,本讲稿共73页 3.1.4 构造函数构造函数 构造函数是类中与类名同名的成员函构造函数是类中与类名同名的成员函数,当一个类的实例生成时,系统会
13、自动数,当一个类的实例生成时,系统会自动调用构造函数对实例进行初始化。调用构造函数对实例进行初始化。第25页,本讲稿共73页 3.1.5 析构函数析构函数 析构函数用于在实例生存周期结束时,析构函数用于在实例生存周期结束时,执行一些必要的操作,例如释放存储空间、执行一些必要的操作,例如释放存储空间、回收已分配的资源等。回收已分配的资源等。第26页,本讲稿共73页 3.1.6 域、属性和方法域、属性和方法 为了保存类的实例的各种数据信息,为了保存类的实例的各种数据信息,C#给提供了两种方法:域(也称为字段)给提供了两种方法:域(也称为字段)和属性。其中,属性实现了良好的数据封和属性。其中,属性实
14、现了良好的数据封装和数据隐藏。装和数据隐藏。第27页,本讲稿共73页字段字段 在类块中声明字段的方式如下:在类块中声明字段的方式如下:字段修饰符字段修饰符 字段的类型字段的类型 字段的名称字段的名称“字段字段”是包含在类或结构中的对象或值。字段是包含在类或结构中的对象或值。字段使类可以封装数据。使类可以封装数据。第28页,本讲稿共73页属性属性 属性是这样的类成员:它们提供灵属性是这样的类成员:它们提供灵活的机制来读取、编写或计算私有活的机制来读取、编写或计算私有字段的值。字段的值。第29页,本讲稿共73页事件事件 基于基于 Windows 的应用程序和的应用程序和 Web 应应用程序都是基于
15、事件驱动的应用程序,用程序都是基于事件驱动的应用程序,即根据事件来执行代码。即根据事件来执行代码。第30页,本讲稿共73页方法方法方法的声明方法的声明:格格式式:方方法法修修饰饰符符 返返回回类类型型说说明明符符 方方法法名名(形式参数说明列表形式参数说明列表)/*)/*定义方法头定义方法头*/*/变量、数组的定义语句变量、数组的定义语句;其它可执行部分其它可执行部分 第31页,本讲稿共73页 【案例【案例20】温度转换】温度转换 本案例中将设计一个可以进行将摄氏本案例中将设计一个可以进行将摄氏温度转换为华氏温度的程序,效果如图温度转换为华氏温度的程序,效果如图3-1-5所示。所示。第32页,
16、本讲稿共73页 图图3-1-5 温度转换温度转换第33页,本讲稿共73页 在本例的实现过程中,将学习类的应在本例的实现过程中,将学习类的应用,案例实现过程如下。用,案例实现过程如下。第34页,本讲稿共73页 1创建项目创建项目 2代码编辑代码编辑第35页,本讲稿共73页 【案例【案例21】圆形计算】圆形计算 本案例中将设计一个可以进行圆形周本案例中将设计一个可以进行圆形周长与面积计算的程序,效果如图长与面积计算的程序,效果如图3-1-6所示。所示。第36页,本讲稿共73页 图图3-1-6 圆形计算圆形计算第37页,本讲稿共73页 在本例的实现过程中,将学习类的构在本例的实现过程中,将学习类的构
17、造函数、属性和方法的应用,案例实现过造函数、属性和方法的应用,案例实现过程如下。程如下。第38页,本讲稿共73页 1创建项目创建项目 2代码编辑代码编辑第39页,本讲稿共73页 3.2 3.2 继承、多态与接口继承、多态与接口 3.2.1 继承继承 1继承的概念继承的概念 继承是指从已有的类型出发,在此基继承是指从已有的类型出发,在此基础上建立新的类型,新类型具备原有类型础上建立新的类型,新类型具备原有类型的功能和特性,也能在新类型中对原有类的功能和特性,也能在新类型中对原有类型的功能进行更新和扩展。继承的核心就型的功能进行更新和扩展。继承的核心就是代码的重用。是代码的重用。第40页,本讲稿共
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 优秀 课件
限制150内