- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 在C#中实现OOP 3.1 面向对象的基本概念 3.2 C#中的类 3.3 对象 3.4 构造函数和析构函数 3.5 静态成员和实例成员 3.6 方法 3.7 C#中的继承 3.8 属性与索引器 3.9 抽象类、抽象方法与抽象属性 3.10 接口 3.11 多态性的实现 面向对象编程(Object-Oriented Programming,OOP)是一种功能非常强大的编程方法,可以更容易地维护和重使用已有的代码,执行非常复杂的任务。它使代码有非常直观、自然的结构,这是过程化语言所不具备的。C#就是一种功能非常强大的面向对象的编程语言。 3.1 面向对象的基本概念 3.1.1 类和对象 3.1.2 封装、继承和多态 3.1.1 类和对象 面向对象思想来源于对现实世界的认知。现实世界缤纷复杂、种类繁多,难于认识和理解。但是聪明的人们学会了把这些错综复杂的事物进行分类,从而使世界变得井井有条。 面向对象编程也采用了类的概念,把事物编写成一个个“类”。 对象则是类的具体实例,是客观世界的个体或实体。 3.1.2 封装、继承和多态 在面向对象的世界中,大多数都是以类作为数据的基本单位。类将数据和操作数据的方法结合成一个单位,这就是封装。 继承是面向对象编程最重要的特性之一,任何类都可以从另外一个类继承,这就是说,这个类拥有它继承的类的所有成员。在面向对象的编程中,类的创建是沿着树型结构发展起来的,正是通过继承的机制,实现了代码的重用。被继承的类称为父类或基类,继承的类称为派生类或子类。 多态性是在对象体系中把设想和实现分开的手段,意味着几个不同的对象具有相同名字的方法(函数或者事件),但每个对象为该方法提供的参数和实现过程都可能不同。 3.2 C#中的类 3.2.1 类的声明 3.2.2 类成员 3.2.3 类成员的访问控制 类是一种数据结构,它可以包含数据成员、函数成员(方法、属性、事件、索引器、运算符、实例构造函数、析构函数和静态构造函数)。 3.2.1 类的声明 C#中,类的声明语法如下: [类的属性] [类修饰符] class 类名 [:基类或任何接口列表] { //类成员 } 3.2.2 类成员 类的成员可以分为两大类:类本身所声明的和从基类中继承而来的。 3.2.3 类成员的访问控制 对一个类的成员可以通过指定不同的访问修饰符实现对该成员的访问控制。 3.3 对象 类是抽象的,要使用类定义的功能,就必须实例化类,即创建类的对象。 类与对象的关系可以比喻为车型设计和具体的车:类就像车型设计一样说明了车所应该具备的所有属性和功能,但是车型设计并不是车,你不能发动和驾驶车型;对象就像根据车型设计制造出的车,它们都具备车型设计所描述的属性和功能,车是能发动和驾驶的。 创建对象的语法如下: 类名 对象 = new 类名([参数表]); 或 类名 对象; 对象 = new 类名([参数表]); 其中,参数表是可选的。 用new创建一个类的对象时,将为对象分配一块内存,每一个对象都有不同的内存。代表对象的变量存储的是存放对象的内存的地址。因此,两个不同的对象,即使它们的所有成员的值或代码都相同,它们也是不相等的。就像同一型号的每一辆车都不相同一样,用同一个类创建出来的不同对象也是不同的。 【例3-1】展示不同对象之间的关系。 【例3-2】展示相同的对象(对象赋值)。 3.4 构造函数和析构函数 3.4.1 构造函数 3.4.2 析构函数 3.4.1 构造函数 构造函数是类的一种特殊的方法成员,作用是在创建对象时初始化对象的数据成员。 1. 构造函数的声明 声明构造函数的形式为: [访问修饰符] 类名( [参数列表] ) { //构造函数的主体 } 注意: 注意: 构造函数不允许有返回类型包括void类型。 构造函数的名称必须与类名相同。 在构造函数中不要做对类的实例进行初始化以外的事情,也不要尝试显式地调用构造函数。 一个类定义必须且至少有一个构造函数,如果定义类时,没有声明构造函数,系统会自动提供一个默认的无参构造函数供创建类对象时使用。如果声明了构造函数,系统将不再提供默认的构造函数。 【例3-3】构造函数的声明及特点体现。 2. 带参数的构造函数 【例3-4】一个类中多个构造函数的声明及应用。 3. this关键字 在类的实例构造函数和实例函数成员中,关键字this表示当前的类实例或者对象的引用。当在实例构造函数或方法内使用了与字段名相同的变量名或参数名时,可以使用this来区别字段和变量或者参数。 4. 私有构造函数 一般地,构造函数总是public 类型的。
您可能关注的文档
- C#程序设计电子教案杨克玉 第1章 认识Visual C#.ppt
- C#程序设计电子教案杨克玉 第2章 C#编程基础.ppt
- C#程序设计电子教案杨克玉 第4章 数组.ppt
- C#程序设计电子教案杨克玉 第5章 面向对象程序设计.ppt
- C#程序设计电子教案杨克玉 第6章 WinForm应用程序设计.ppt
- C#程序设计电子教案杨克玉 第7章 ADO.NET数据库访问技术.ppt
- C#程序设计电子教案杨克玉 第8章 三层架构的ADO.NET数据库编程.ppt
- C#程序设计电子教案杨克玉 第9章 水晶报表及产品发布.ppt
- C#程序设计基础 教学课件 作者 熊壮 第0章:C#程序设计课程简介.ppt
- C#程序设计基础 教学课件 作者 熊壮 第1章:C#及Visual Studio 2010开发环境介绍.ppt
文档评论(0)