C#程序设计 第3章C#面向对象编程
C# 程序设计 第3章 C#面向对象编程
本节目标 ■理解面向对象的基本概念 ■理解类和对象的区别和联系 ■掌握类的声明及创建对象的方法 ■掌握字段、方法和构造函数的声明及使用 ■掌握类的访问修饰符的使用 ■了解嵌套类的声明和使用 ■了解分部类的概念和使用 2
2 本节目标 ▪ 理解面向对象的基本概念 ▪ 理解类和对象的区别和联系 ▪ 掌握类的声明及创建对象的方法 ▪ 掌握字段、方法和构造函数的声明及使用 ▪ 掌握类的访问修饰符的使用 ▪ 了解嵌套类的声明和使用 ▪ 了解分部类的概念和使用
③基本内容 面向对象的概念 类的声明和使用 类的数据成员 访问修饰符 小结
3 基本内容 面向对象的概念 访问修饰符 类的声明和使用 类的数据成员 小结
面向对象概念 如何对汽车进行 编程处理? 行为 颜色 加速 价格 起动 型号 停车 属性 行为 颜色 吃 属性 行为 品种 睡 颜色 打铃 车轮数量 行进 4
4 面向对象概念 属性 颜色 价格 型号 行为 起动 停车 加速 属性 颜色 车轮数量 行为 行进 打铃 属性 颜色 品种 行为 睡 吃 如何对汽车进行 编程处理?
类的基本概念 ■ 类是一个数据类型,定义数据类型的数据(字段)和行为 (方法和其他函数成员) ■对象是基于类的具体实体,有时称为类的实例(instance) 面向对象的程序设计的三个基本特性: ■封装 ■继承 多态 不同的对象可以执行相同的动作, 但要通过它们自己的实现代码来执行 有的属性和功能; 丁天心可以以日巴刚刀式天沈义天时功北,达冲刀式叫做方法重写, 5
5 类的基本概念 ▪ 类是一个数据类型,定义数据类型的数据(字段)和行为 (方法和其他函数成员) ▪ 对象是基于类的具体实体,有时称为类的实例(instance) ▪ 面向对象的程序设计的三个基本特性: ◼ 封装 ◼ 继承 ◼ 多态 1.定义: 封装是指使用抽象数据类型将数据 和基于数据的操作包装在一起。 2.目的:达到接口和实现的分离。 ✓子类拥有父类非private(私有权限)的属性和功能, ✓子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能; ✓子类还可以以自己的方式实现父类的功能,这种方式叫做方法重写, 不同的对象可以执行相同的动作, 但要通过它们自己的实现代码来执行
基本内容 面向对象的概念 类的声明和使用 类的数据成员 访问修饰符 小结
6 基本内容 面向对象的概念 访问修饰符 类的声明和使用 类的数据成员 小结
课堂讨论 ■先有对象还是先有类? 一应该先定义类才可以从类的定义声明对象
7 课堂讨论 ▪ 先有对象还是先有类? -应该先定义类才可以从类的定义声明对象
类的声明和使用 public|privatelinterna 类的声明:在C#中使用cas I|protected|protected internal 可省略,省略 帕斯卡(pascal)命名法 时internal 所有单词首孕母大写 访问修饰符class类名[类型形参][:基类或接口[类型形参约束] { 定义类的成员,即类的字段、属性和方法 类中工此右回夕 类的使用: class MyClass 代码错误 类名对象名=new类略f参数表]: public void g (double d){.} 8
8 类的声明和使用 ▪ 类的声明: 访问修饰符 class 类名[类型形参] [: 基类或接口[类型形参约束] { 定义类的成员,即类的字段、属性和方法 } 在C#中使用class关键字定义类 帕斯卡(pascal)命名法 所有单词首字母大写 可省略,省略 时internal 类体中不能有同名 class MyClass 的成员 { int g; public void g (double d) { . } } 代码错误 public|private|interna l|protected|protected internal ▪ 类的使用: 类名 对象名 = new 类名([参数表]);
基本内容 面向对象的概念 类的声明和使用 类的数据成员 访问修饰符 小结
9 基本内容 面向对象的概念 访问修饰符 类的声明和使用 类的数据成员 小结
类的成员 ■类的主要成员包括两种类型 ■描述状态的数据成员:常量、字段和事件 ▣描述操作的函数成员 成员 说明 常量 与类关联的常量值 字段 类的变量 方法 类可执行的计算和操作 属性 定义一些命名特性以及与读取和写入这些特性相关的操作 索器 与以数组方式,索引类的实例相关联的操作 事件 可由类生成的通知 运算符 类所支持的转换和表达式运算符 构造函数 初始化类的实例或类本身所需的操作 析构函数 在永久丢弃类的实例之前执行的操作 类型 类所声明的嵌套类型 10
10 类的成员 ▪ 类的主要成员包括两种类型 ◼ 描述状态的数据成员:常量、字段和事件 ◼ 描述操作的函数成员 ▪ 类的成员可以声明为 ◼ 静态成员(static member) ◼ 实例成员 (instance member) 与整个类相关 类的每个实例都有 它自己的数据副本