1、面向对象的概念形成了所有现代编程语言的基础。了解面向对象的概念能够帮助开发者更有效地使用各种现代的编程语言。C# (C-Sharp) 就是一个面向对象的编程语言,它是由Microsoft开发的,用于为应用程序的开发提供简单、现代和多用途的编程语言。 本课程适用于想进入面向对象的编程(使用C# 语言)世界的学生们。它在面向对象的编程方法方面提供了坚实的基础,并提供了 C# 编程语言的基本原理。,基本原理,在本章中,您将学习: 介绍面向对象的方法的特性 描述面向对象的方法的阶段 在 C# 中定义类 声明变量 编写和执行 C# 程序,目标,面向对象是在对真实系统建模的基础上的一个软件开发方法。 面向
2、对象的程序由类和对象组成。让我们了解这些术语类和对象。,面向对象的方法,Toyota Camry,Suzuki Reno,Honda Acura,面向对象的方法(续),对象从文字上理解为“具体的事情”,人的感观能够感觉到它。 对象具有以下特性: 对象有状态 对象可以显示行为 对象有一个唯一的身份 对象通过消息进行彼此之间的交互。让我们了解这些概念。,面向对象的基础,面向对象的基础(续),面向对象的基础(续),课间思考,确定以下对象的可能状态: 手机 立体声播放器,答案: 手机状态:关机,铃声,振动,通话 立体声播放器:播放,暂停,倒带和快进,课间思考,Dr. James和 Mr. Hyde 到
3、火车站去定购12月3日的票。在车站,他们向票务人员预订两张头等舱的机票,请确定以下项: 这种情况下的消息接收方。 接收方可能使用的方法。,答案: 在这个示例中,消息的接收方是售票柜台的票务员。 票务员将检查12月3 日是否有两张头等舱的车票。如果有,他将输入详细信息(姓名、年龄、出发日期和座位号),然后确定此次预订并计算所需的费用。,面向对象方法的特性,现实建模 可重用性 轻松更改 以不同的形式存在,课间思考,请指出以下情况是否说明重用性: 再生纸 抽水机重用性(同一个抽水机可用于井站和油站),答案: 不代表重用性,因为纸在被回收利用之前销毁了不可再用的纸。不可再用的纸丢失了其身份并且不能被看
4、作与回收纸完全一样。 它表示重用性,因为抽水机可用来抽水以及油。不一定在两个场所使用同一个抽水机。可以使用两台不同的机器,因为它们都属于“抽水机”类。,面向对象的方法包括以下阶段: 分析阶段 设计阶段 实施阶段让我们讨论构建建筑的过程。,面向对象方法的阶段,课间思考,作为DialCom Telecommunications公司的软件开发小组的成员,分配给你一个任务,要求你创建一个能够接受并显示客户详细信息(如姓名、年龄、电话号码)的软件模型。请确定要创建的类和类的方法。,答案: 根据每个问题说明,所需的类是: Customer 类具有的方法是: 接受客户详细信息 显示客户详细信息,程序是执行特
5、定任务的一套指令。 编程语言使用程序来开发软件应用程序。 编译器就是一个特殊的程序,它专门处理某种特定编程语言编写的语句,并将它们转换成机器语言。 此转换的过程称为编译。,介绍 C#,C# 也就是C-Sharp,它是由 Microsoft 引入的一种编程语言。 C#是专门为使用Microsofts .NET 平台设计的。让我们了解C#编程的构成。,介绍 C# (续),请考虑以下定义类的代码示例: public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“);
6、 ,C# 中的类,public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“); ,C# 中的类(续),class 关键字用于声明一个类,public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“); ,The class Name Is used as an identifier for a class,C# 中的类(续
7、),public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“); ,Main() 函数是应用程序的进入点 通常用于创建对象和调用成员函数,C# 中的类(续),public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“); ,System.Console.WriteLine()方法用于在屏幕上显示文本,C# 中的类(续),
8、public class Hello public static void Main(string args) System.Console.WriteLine(“Hello, World! n“); ,转义字符显示换行字符。也可显示其它特殊字符,如:t, b and r,C# 中的类(续),演示:创建类,问题描述: 作为JoyToys 公司的玩具开发小组的成员,分配你一个任务,要求你创建一个能够接受并显示自行车详细信息的自行车模块。声明Bike 类及其成员函数。接受自行车详细信息的成员函数应该显示消息“接受自行车详细信息”。同样,在屏幕上显示自行车详细信息的成员函数应该显示消息“显示自行车详
9、细信息”。,变量是内存中的一个位置,它具有名称并且包含值。 变量与数据类型相关联,数据类型定义了数据的类型,它可以存储在变量中。,声明变量,使用以下语法可以声明和初始化变量:=;,声明和初始化变量,请考虑以下声明和初始化变量的示例: int class_rank=2;,声明和初始化变量(续),C#中的数据类型代表要在变量中存储的数据的种类。 C# 提供各种内置的数据类型 ,如: char int float double bool string,C#中的数据类型,现在让我们通过一些例子来了解不同的数据类型。,Name,Marks,Age,Vowel,string,float,int,char,
10、= “Peter”,= 83.56,= 23,= a,C#中的数据类型(续),考虑以下声明和初始化变量的示例:int class_rank=2;,C#中的数据类型 以下数据类型是C#支持的数据类型: 值类型,C#中的数据类型(续),值类型中的内存分配,考虑以下声明和初始化变量的示例: int class_rank=2;,声明和初始化变量,C#中的数据类型 以下C#支持的数据类型: 引用类型,字符串类型变量的内存分配,考虑以下声明和初始化变量的示例: int class_rank=2;,声明和初始化变量(续),在C#中命名变量 以下规则用于在 C# 中命名变量: 必须以字母或下划线 开始 不应该
11、包括任何嵌入的空格或符号 必须是唯一的 可以有任何数量的字符 关键字不能用作变量名,考虑以下声明和初始化变量的示例:int class_rank=2;,声明和初始化变量(续),有效变量名与无效变量名示例,Name,#Score,Age,2Strank,Family_Size,Gender,考虑以下声明和初始化变量的示例: int class_rank=2;,声明和初始化变量(续),在C#中初始化变量 指定要在变量中存储的值 。此值可以是一个整数、小数或字符。,要了解如何在变量中存储值,请注意以下代码段: int Number; Number= Convert.ToInt32(Console.R
12、eadLine();,在成员变量中接受和存储值,Console.ReadLine() 用于从用户那里接受输入并且将它存储在Number 变量中,要了解如何在变量中接受值,请注意以下代码段: int Number; Number= Convert.ToInt32(Console.ReadLine();,在成员变量中接受和存储值(续),Convert.ToInt32() 将用户输入的数据转换成 int 数据类型,让我们来学习如何来编写、编译和执行C# 程序。,编写和执行 C# 程序,可以使用如记事本这样的编译器来编写C# 程序。请注意以下代码,它声明了Car 类并为它创建了对象 MyCar: us
13、ing System; class Car /Member variables string Engine; int NoOfWheels; /Member functions void AcceptDetails(),创建一个样本 C# 程序,using 关键字用于在程序中包括名称空间。 注释用于解释代码并由符号/显示。 成员变量用于存储数据。 成员函数在执行某个特定任务的类中声明。, Console.WriteLine(“Enter the Engine Model“); Engine = Console.ReadLine(); Console.WriteLine(“Enter the n
14、umber of Wheels“); NoOfWheels = Convert.ToInt32(Console.ReadLine(); public void DisplayDetails() Console.WriteLine(“The Engine Model is:0“, Engine); Console.WriteLine(“The number of wheels are:0“, NoOfWheels); ,创建一个样本 C# 程序(续),/Class used to instantiate the Car class class ExecuteClass public static
15、 void Main(string args) Car MyCar = new Car(); MyCar.AcceptDetails(); MyCar.DisplayDetails(); ,创建一个样本 C# 程序(续),Execute 类用作实例化Car类的一个类。,在记事本中编写 C # 程序后,您需要编译并执行该程序以获得所需的结果。 编译器将源代码转换成计算机能够识别的机器代码。 需要执行以下步骤来编译并执行C# 程序: 1. 将记事本中编写的代码保存为扩展名为 .cs 的文件。 2. 要编译代码,需要转至Visual Studio 2005 命令提示符。选择开始所有程序 Visual
16、 Studio 2005 Visual Studio 工具 Visual Studio 2005 命令提示符以编译该程序。 3. 在 Visual Studio 2005 命令提示符窗口中,转至保存该程序文件的位置。,编译和执行C# 程序,4. 使用以下命令编译该程序文件: csc ExecuteClass.cs 5. 要执行该代码,请在命令提示符下输入以下内容: ExecuteClass.exe,编译和执行C# 程序(续),问题描述 David 是为网球比赛开发一个自动排队软件的小组成员。分配给你一个创建程序的任务。程序要能够接受网球队员的以下详细信息并显示这些信息: 姓名,最多包括25个字
17、符 一个整数级别 Winning average as a decimal value请帮助 David 创建该程序。,演示:创建C#程序,在本章中,您学习了: 根据面向对象的方法,系统由相互间作用的组件对象组成 。 对象是一个实体,可以有物理边界。但是,它有以下几个特性 : 状态 行为 身份 类包括一组共享结构和行为的对象。 如果对象希望另一个对象采取动作,则发消息给该对象。 接收消息的对象称为接收方,接收方采取的一组动作组成方法。,小结,面向对象的方法的功能特性是: 真实建模 可重用性 轻松更改 以不同的形式存在 系统的模型是在分析和设计阶段构建的。 模型的目的是帮助开发者了解他们正在尝试
18、仿制的真实产品。 在 C# 中,通过使用关键字class创建类。类由类名标识。 Console.WriteLine() 方法用于在屏幕上显示文本。 Main() 是在C# 程序中执行的第一个函数。,小结(续),转义字符用于显示特殊字符,如换行字符。 变量是内存中包含某个特定值的、已命名的位置。 数据类型定义可以在变量中存储的数据的类型。 两种数据类型是:值类型、引用类型。 ReadLine() 函数用于接受来自用户的输入。 using 关键字用于在程序中包括名称空间。 名称空间包含一组相关类。 成员变量是在类主体中声明的。,小结(续),注释条目是由程序员在代码中编写的注释,以便其他阅读该代码的人能够更好地理解。 对象是类的实例。 编译器软件把某种语言编写的程序(如C#)转换成机器语言。,小结(续),