Visual C# 2008程序设计案例教程-电子教案-源代码 4

上传人:E**** 文档编号:89401468 上传时间:2019-05-24 格式:PPT 页数:82 大小:999.50KB
返回 下载 相关 举报
Visual C# 2008程序设计案例教程-电子教案-源代码 4_第1页
第1页 / 共82页
Visual C# 2008程序设计案例教程-电子教案-源代码 4_第2页
第2页 / 共82页
Visual C# 2008程序设计案例教程-电子教案-源代码 4_第3页
第3页 / 共82页
Visual C# 2008程序设计案例教程-电子教案-源代码 4_第4页
第4页 / 共82页
Visual C# 2008程序设计案例教程-电子教案-源代码 4_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《Visual C# 2008程序设计案例教程-电子教案-源代码 4》由会员分享,可在线阅读,更多相关《Visual C# 2008程序设计案例教程-电子教案-源代码 4(82页珍藏版)》请在金锄头文库上搜索。

1、主讲教师: 本课学时: 联系方式:,C#程序设计教程,第四章 面向对象编程基础,本章主要内容介绍 4. 1 面向对象概念 4. 2 类 4. 3 方法 4. 4 属性 4. 5 类库与命名空间 4. 6 小结,CONTENT,本章学习目标:,熟练掌握类的定义与使用 熟练掌握类的字段 熟练掌握类的构造函数 熟练掌握类的方法的定义和使用 掌握类属性的定义和使用,面向对象的基本概念,对象,属性,型号,价格,里程,行为,起动,停车,行驶,属性,车轮数量,档的数量,行为,加速,换档,刹车,属性,名称,颜色,品种,行为,摇尾巴,吃东西,犬 吠,现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,对象,

2、属性,型号,价格,里程,行为,起动,停车,行驶,属性,车轮数量,档的数量,行为,加速,换档,刹车,属性,名称,颜色,品种,行为,摇尾巴,吃东西,犬 吠,现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,类,类是 C# 中的一种结构,用于在程序中模拟现实生活的事物,语法:,访问修饰符 class , / 类的主体 ,示例: class Employee / 类的主体 ,/ 成员变量 / 成员方法,类与对象,类是一种抽象的数据类型 将类实例化成对象后方可使用 C中用new运算来创建对象,Employee objEmployee; objEmployee = new Employee();,F

3、orm1 frm = new Form1(); frm.Show();,面向对象的程序设计(OOP)是一种基于结构分析的、以数据为中心的程序设计方法。 面向对象的程序设计方法总体思路:将数据及处理这些数据的操作都封装(Encapsulation)到一个称为类(Class)的数据结构中,在程序中使用的是类的实例对象。 对象是代码与数据的集合,是封装好了的一个整体,对象具有一定的功能。也就是说对象是具有一定功能的程序实体。程序是由一个个对象构成的,对象之间通过一定的“相互操作”传递消息,在消息的作用下,完成特定的功能。,面向对象的基本概念,面向对象程序设计语言的三大原则,1. 一切都是对象 2.

4、计算通过对象间相互通信,请求其他对象执行动作来实现。对象间通过发送和接收消息来通信 3. 每个对象都有自己的内存,其中可能包括了其他的对象。,面向对象程序设计语言的三大原则,封装性 封装(encapsulation):利用ADT将数据和基于数据的操作密封在一起,系统的其它对象只能通过界面与其交互。 封装机制将数据和代码捆绑到一起,避免了外界的干扰和不确定性。 封装的优点 提高了系统灵活性 提高了系统安全性,面向对象程序设计语言的三大原则,继承性 继承(Inheritance)是可以让某个类型的对象获得另一个类型的对象的属性的方法。 继承支持按级分类的概念。 继承很好的支持代码的重用性(reus

5、ability) 。,面向对象程序设计语言的三大原则,多态性 多态(Polymorphism ):多态的意思是事物具有不同形式的能力。例如,对不同的实例,某个操作可能会有不同的行为。这个行为依赖于所要操作数据的类型。 多态机制使具有不同内部结构的对象可以共享相同的外部接口。 多态的实现 重载(overload) 覆盖(override),4. 2 类,public class teacher int no; string name; public int No get return no; set no = value; public string Name get return name;

6、,set name = value; public teacher() / / TODO: Add constructor logic here / public teacher(int no, string name) this.no = no; this.name = name; ,4. 2 类,C# 2008秉承了C+面向对象的所有关键概念:封装、继承和多态性。其类型模型是建立在.NET虚拟对象系统之上的。类是面向对象的程序设计的基本构成模块。从定义上讲,类是一种数据结构,这种数据结构可以包含数据成员、函数成员等类型。其中数据成员类型有常量和事件;函数成员类型有方法、属性和索引器等。,定

7、义类的语法,语法 修饰符 class 类名 :基类 ,类声明中的修饰符,类的成员,语法:,字段(成员变量),访问修饰符,数据类型,成员变量;,private,protected,internal,public,_name,status,.,userName,int,char,.,bool, class Employee private string _name; private char _gender; private string _qualification; private uint _salary; ,访问成员变量,步骤 1:创建一个类的对象,Employee objEmployee

8、 = new Employee();,步骤 2:使用点号访问成员变量,objEmployee._name = “张三“; objEmployee._name = M;,字段(成员变量),字段的类型可以是C中任何数据类型 5种访问修饰符对字段都适用(默认为private),访问修饰符 1,Teacher 类,private 成员,protected 成员,public 成员,internal 成员,Student 类,只有 Student 类在 Teacher 类都在同一程序集中,才可访问internal成员,不可访问,不可访问,可以访问,访问修饰符 2,静态字段例,public class e

9、mployee public static int id; public string name; public static int employeecounter; public static int addemployee() return employeecounter+; ,class Program static void Main(string args) employee.employeecounter = 0; employee e1 = new employee(); employee.addemployee(); employee e2 = new employee();

10、 employee.addemployee(); Console.WriteLine(“employeecount:0n“, employee.employeecounter); Console.ReadLine(); ,运行结果:,非静态字段,public class employee public static int id; public string name; public int employeecounter; public void addemployee() employeecounter+; Console.WriteLine(“employeecount:0“,emplo

11、yeecounter); ,class Program static void Main(string args) employee e1 = new employee(); e1.employeecounter = 100; Console.WriteLine(“employeecount:0“,e1.employeecounter); employee e2 = new employee(); e2.addemployee(); Console.ReadLine(); ,运行结果:,静态与非静态字段,静态字段的定义 用static关键字 有效范畴 静态字段属于类,是类的所有对象所共用的 非

12、静态字段(实例字段)属于对象,是某个特定对象专用的 引用方法 类名.静态字段 对象名.非静态字段,public class employee public static int id; public string name; public int employeecounter; ,字段的初始化,class Program static void Main(string args) employee.id = 10; Console.WriteLine(“id:0n“,employee.id); employee e1 = new employee(); e1.employeecounter

13、= 100; Console.WriteLine(“employeecount:0n“, e1.employeecounter); Console.ReadLine(); ,运行结果:,字段的初始化,声明时自动初始化 自动初始化的默认值 声明时用赋值语句初始化 赋值语句的执行 静态字段 非静态字段 非静态字段的初始化问题,构造函数,构造函数是类的一种特殊方法,每次创建类的实例都会调用它,访问修饰符,(), / 构造函数的主体 ,语法:, / 默认构造函数 Employee() _qualification = “研究生“; ,示例:,演示:示例 1,构造函数,class Employee ,p

14、ublic string _name; public char _gender; public string _qualification; public uint _salary;,/ 默认构造函数 public Employee() _qualification = “研究生“; ,static void Main(string args) / 调用默认构造函数 Employee objEmployee = new Employee(); Console.WriteLine(“资格= “ + objEmployee._qualification); Console.WriteLine(“薪

15、水= “ + objEmployee._salary); ,输出结果:,构造函数,构造函数是一种特殊的方法 特殊的声明 方法名与类同名 没有返回类型 特殊的执行 每次用new关键字创建类的实例时自动执行 不能直接调用构造函数 特殊的用途 初始化对象,参数化构造函数,访问修饰符, (), / 构造函数的主体 ,语法:,(参数列表), / 参数化构造函数 Employee(string strQualification) _qualification = strQualification; ,示例:,参数化构造函数,/ 默认构造函数 private Employee() _qualification = “研究生“; ,/ 参数化构造函数 public Employee(string strQualification, string strName, char gender, uint empSalary) _qualification = strQualification; _name = strName; _gender = gender; _salary = empSalary; ,public static void Main(string args) / 调用默认构造函数 Employee objGraduate = new Em

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号