C#的面向对象特性 ·初级特性:OO最基本的概念,即类和对 象,包 中级特性:OO最核心的概念,即封装、 继承和多态 高级特性:由初级特性和中级特性引出 的一些问题,如构造函数的使用、覆盖 的规则、静态变量和函数等
C#的面向对象特性 • 初级特性:OO最基本的概念,即类和对 象,包。 • 中级特性:OO最核心的概念,即封装、 继承和多态。 • 高级特性:由初级特性和中级特性引出 的一些问题,如构造函数的使用、覆盖 的规则、静态变量和函数等。 A-PDF Split DEMO
初级特性 ·面向对象技术最基本的概念是类和对象: 类是一个样板,以操作、表示和算法的形式完整地定义了 组对象的行为。它通常也是面向对象语言中的模块化、封装 和数据抽象的基础 对象是类的一个实例,是一个软件单元,它由一组结构化的 数据和在其上的一组操作构成。 对象 变量 方法
初级特性 • 面向对象技术最基本的概念是类和对象: – 类是一个样板,以操作、表示和算法的形式完整地定义了一 组对象的行为。它通常也是面向对象语言中的模块化、封装 和数据抽象的基础。 – 对象是类的一个实例,是一个软件单元,它由一组结构化的 数据和在其上的一组操作构成。 变量 方法 对象 A-PDF Split DEMO
抽象数据类型 ·类实际上为实际的物体在计算机中定义了一种抽象数 据类型。 抽象数据类型是仅由数据类型和可能在这个数据类型上进行 的操作定义的。 使用者只能通过操作方法来访问其属性,不用知道这个数据 类型内部各种操作是如何实现的。 class Car i int colorNumber: int doorNumber: int speed 现实生活中的对象 void brake0{..↓} void Speedup.; void Slow DownO{…,} 计算机中 对象的原型 Car my Car =new Caro; my Car Speedup
抽象数据类型 class Car { int colorNumber; int doorNumber; int speed; void Brake() { … } void SpeedUp() {…}; void SlowDown() { … } } Car myCar = new Car(); myCar.SpeedUp(); 计算机中 对象的原型 现实生活中的对象 • 类实际上为实际的物体在计算机中定义了一种抽象数 据类型。 – 抽象数据类型是仅由数据类型和可能在这个数据类型上进行 的操作定义的。 – 使用者只能通过操作方法来访问其属性,不用知道这个数据 类型内部各种操作是如何实现的。 A-PDF Split DEMO
变量、方法和消息 对象的三个基本要素: 变量:指对象的数据,用来保存对象的状态,又称为实例字段。 方法:指对象的功能单元。 消息:软件对象通过相互间传递消息来相互作用和通信。 个消息由三部分组成 消息 1.接受消息的对象 2.要完成方法的名字 3.方法需要的参数 如 my Car. SpeedUP(10); 对象B 对象A
变量、方法和消息 • 对象的三个基本要素: – 变量:指对象的数据,用来保存对象的状态,又称为实例字段。 – 方法:指对象的功能单元。 – 消息:软件对象通过相互间传递消息来相互作用和通信。 对象 B 对象 A 一个消息由三部分组成: 消息 1. 接受消息的对象 2. 要完成方法的名字 3. 方法需要的参数 如myCar.SpeedUP(10); A-PDF Split DEMO
类、对象和引用 类:C#所有的代码都是在某一个类中,因此不可能在 类之外的全局区域有变量和方法。 对象:C#中的对象相当于一块内存区域,保存对象特 有的类中所定义的数据 引用:C#中对于对象的操作全部通过引用进行。 引用类似于C++中的对象指针。但又有区别: 在C#中”引用“是指向一个对象在内存中的位置,在本质上是 一种带有很强的完整性和安全性的限制的指针。 当声明某个类、接口或数组类型的一个变量时,变量的值总 是某个对象的引用或者是null引用。 指针就是简单的地址而已,而引用除了表示地址而外,还是 被引用的数据对象的缩影,可以提供其他信息 指针可以有++、-运算,引用不可以运算
类、对象和引用 • 类: C#所有的代码都是在某一个类中,因此不可能在 类之外的全局区域有变量和方法。 • 对象:C#中的对象相当于一块内存区域,保存对象特 有的类中所定义的数据。 • 引用:C#中对于对象的操作全部通过引用进行。 • 引用类似于C++中的对象指针。但又有区别: – 在C# 中 ”引用 “是指向一个对象在内存中的位置,在本质上是 一种带有很强的完整性和安全性的限制的指针。 – 当声明某个类、接口或数组类型的一个变量时,变量的值总 是某个对象的引用或者是null引用。 – 指针就是简单的地址而已,而引用除了表示地址而外,还是 被引用的数据对象的缩影,可以提供其他信息。 – 指针可以有++ 、--运算,引用不可以运算。 A-PDF Split DEMO