第3章 C#面向对象程序设计基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9Leabharlann Baidu

题目:编写一个控制台应用程序,自定义一 个学生类,该类仅包含学号、姓名与性别, 在Program类中声明学生类的对象,通过控 制台为对象成员赋值,再将对象成员的值输 出。
10
3.2.3 类的继承 在C#中,实现类的继承的语法格式为: class 子类名 :父类名 { 类体 }
11
题目:创建控制台应用程序,按前述内容在 程序中定义Strudent类的子类CollegeStu(大 学生类),在CollegeStu类中增加所在系字 段,并将其输出。
静态数据成员studentNum不属于任何一个特定的对象,而 是属于类,或者说属于全体对象,是被全体对象共享的数据。
20
3.5.2 静态方法
1. 2. 静态方法同样使用修饰符static声明。 静态方法属于类,只能使用类调用,不能使用对象调 用。
题目: 创建一个控制台应用程序,在该程序中定义一个学生类,该 类除包含非静态数据成员外,还包含一个静态数据成员用以 统计学生人数(对象个数),以及一个静态方法用以显示学 生信息。
21
也称为结构设计,重点在于设计一系列的函数(算法)来解决
整个问题确定函数后,再寻找合适的方法来存储数据。
2、面向对象
以数据为中心,类作为表现数据的工具是划分程序的基本单位,
而函数在面向对象设计中成为了类的方法。
3
3.1.2 面向对象语言的特点
1.抽象
面向对象程序设计的基本要素是“抽象”。它允许按照层次 关系,根据物理含义将一个复杂的系统抽象成更容易管理的 子系统。
14
题目:修改【案例3-1】中的Student类定义,添 加字段的读写属性,将字段的访问修饰符修 改为private,字段名改为小写。
15
3.4 方法
3.4.1 声明与调用方法
方法的使用分声明与调用两个环节。 1 声明方法 访问修饰符 返回类型 方法名(参数列表){ } 2 调用方法 根据方法被调用的位置,可以分为在方法声明的类定义中调用方 法和在方法声明的类定义外部调用方法。 在方法声明的类定义中调用方法的语法格式为: 方法名(参数列表) 在方法声明的类定义外部调用方法的语法格式为: 对象名. 方法名(参数列表)
第3章 C#面向对象
程序设计基础
大连理工大学出版社高职教育出版中心
主要内容:
了解面向对象程序设计的基本概念及特征;熟练掌握类 的定义及对象的创建;掌握类的继承;掌握属性和方法的声 明及使用;理解并掌握方法的重载和静态成员的创建及调用 方法。
2
3.1 面向对象程序设计
3.1.1 面向对象的引入
1、面向过程:
16
题目:改写【案例3-3】在Student类创建一个 用于显示学生信息有方法。
17
3.5 静态成员
类可以具有静态成员,例如静态字段、静态方法等。 静态成员与非静态成员的不同在于,静态成员属于 类,而非静态成员则总是与特定的实例(对象)相 联系。 声明静态成员需要使用static修饰符。
3.2.2 对象
类实质上就是一种数据类型,是用户自己定义的数据类型,它是创 建对象的一个模板。 1 创建对象 在C#中,创建对象包括对象的声明和为对象分配内在两个步骤。 (1)声明对象 类名 对象名称; 例如: Student s1; //声明一个学生类对象s1 (2) 为声明的对象分配内存 使用new关键字来为声明的对象分配内存,这一过程也叫对象实例化。 对象名=new 类名( ); 例 s1=new Student( ); //为s1分配内存 另外,对象的声明与实例化也可以一起进行。 例 Student s1=new Student( ); 8
12
3.2.4 访问权限
访问修饰符 public(公有) 功 能 访问不受限制,可以被任何其他类访问
protected(保护) 访问只限于类的内部,以及由该类的子类。 private(私有) 访问只限于类的内部。
13
3.3 属性
对私有或保护数据成员的访问可以设置其属性的形 式实现。通过属性可以控制数据的访问形式,甚至设计 数据可接受的值域。 3.3.1 声明属性 声明属性的语法格式为: 访问修饰符 类型 属性名 { get { } //读访问器 set { } //写访问器 }
18
3.5.1 静态数据成员
1.
2.
非静态的字段总是属于某个特定的对象,其值总 是表示某个对象的值。例如,学号(ID)。 有时可能需要类中有一个数据成员来表示全体对 象的共同特征.例如,在Student类中用一个数据成 员来统计学生的人数 。
19
例如: class Student //类名为Student { Public static int studentNum; //声明静态数据成员 public string ID; public string Name; public string Sex; }
2 访问对象
访问对象实质是访问对象成员,对象通过使用运算符“.”实现 对对象成员的访问。 例 s1.ID=”2008001”; s1.Name=”张三”; s1.Sex=”男”; 可以使用对象变量为另一个对象变量整体赋值, 例 Studen s2; s2=s1; //s2可以不用new关键字初始化。 可以使用对象中的某一成员为变量赋值。 例 string sName=s1.Name; //将对象s1的Name成员值赋给字符串变量sName
5
3.1.3 面向对象的基本概念
类和对象是面向对象程序设计的两个基本概念。类是对 象的抽象和描述,对象是类的实例。 面向对象程序设计的重点在于设计类。
6
3.2 类与对象
3.2.1 类的定义
在类定义中需要使用关键字class,其定义格式为: class 类名 {类体}
“字段”是类定义中的数据,也叫类的变量。上例中定义的 “ID”、“Name”与“Sex”均为类的字段。如果需要在类定义的 多个方法中使用某个变量,该变量应该声明为字段。 “属性”用于读取和写入“字段”值,“属性”是字段的自然 扩展,对用户而言,“属性”等同于“字段”本身,对程序员 而言,属性是一种读写“字段”的特殊方法。 “方法”实质上就是函数,通常用于对字段进行计算和操作, 即对类中的数据进行操作以实现特定的功能。 7
4 多态
当新类从某个一般类中继承后,可能需要修改父类中某个方法的实 现方式。多态机制能够根据需要,分别用于实现不同子类的方法。 例如:某个对象,其父类为“笔”,在调用它的“写”方法时,程 序会自动判断出它的具体类型,如果是毛笔,就调用毛笔类对应的 “写”方法,如果是铅笔,就调用铅笔对应的“写”方法。
2.封装
在面向对象程序设计中,将数据及对数据的操作封装在类里, 构成具有独立意义的构件。 类的用途是封装复杂性,它将所有的实现细节对界屏蔽。所 有对类中数据的访问与操作都通过外部接口来完成。
4
3 继承
继承支持层次抽象的概念。 通常,用户可以先创建一个具有共性的一般类,根据该一般类(父 类)再创建具有特殊属性的新类(子类)。
相关文档
最新文档