有做公司网站,WordPress插件lnmp,网站建设昆山博敏,wordpress 让导航悬浮参考文献蜜酒厅通讯社 游戏部 石中居士对象(object)#xff1a;有状态、行为和身份的东西。状态(state)#xff1a;表示物体特征的信息#xff0c;可以用来跟踪对象的状态。属性(properties)#xff1a;因为编程人员需要把控对象的状态#xff0c;所以要对其进行访问。通过…参考文献蜜酒厅通讯社 游戏部 石中居士对象(object)有状态、行为和身份的东西。状态(state)表示物体特征的信息可以用来跟踪对象的状态。属性(properties)因为编程人员需要把控对象的状态所以要对其进行访问。通过属性可以访问对象的状态。行为(behavior)编程人员要求对象能够采取的行动以及对对象操作的行动。方法(methods)调用对象的方法以指定对象的行为。身份(identity)用来区分对象的标志。我们不需要看到对象的内部来使用对象只需要使用属性和方法来命令它。封装(Encapsulation)将相关字段和行为组合成一个对象的过程类(class)描述类中对象的字段、属性和方法作为新对象的模版。实例化(instantiation)我们使用实例化从类创建一个新对象。统一建模语言(UMLUnified Modeling Language)用这一语言显示为问题解决方案设计的类和对象的结构。我们将把类名的第一个字母大写并以对象名的小写字母开头这样就很容易从名称中分辨出是类还是对象。关于字段我们以小写字母开始每个字段名。每个变量后面都有一个数据类型(值类型或引用类型—类)。当我们在C#中声明变量时数据类型在变量名之前但是在UML中顺序相反。我们以大写字母开始每个属性名。类成员(class members)类的字段、属性和方法被称为类成员。函数(functions)在Unity文档中函数和方法是一个意思。编写一个Message类构造函数只有一个string参数。而我们希望对象持有的message就是这个参数。1.如何创建message对象// ClassName objectName new ClassName(arguments);// ClassName : 对象objectName的类名// 对象名由arguments——构造函数的实参创建我们想输出一个消息“Hi”则Message hiMessage new Message(Hi!);// 运行程序时hiMessage作为新对象创建对象生成时message的内部设置为字符串“Hi”。创建多行消息则Message mutiMessage new Message(Hello,world\n Im a Viking.\n Oh,Damn.);转义字符串(escape sequence)\n(换行)、\t(制表符)、\r(回车)、\\(反斜线转义)、\(双引)输出上面创建的多行消息则要调用对象的Print方法mutiMessage.Print();// 我们不需要向方法传递任何参数因为我们要打印的消息的字符串已经包含在对象本身中;// 这就是为什么我们在调用构造函数时提供消息字符串的原因。// 要为对象调用这种方法我们从对象的名称开始;这告诉C#应该使用哪个对象。// 然后输入句点然后是方法名。这告诉c#在给定对象中使用哪个方法。// 最后我们把方法需要的参数放在开括号和闭括号之间。// 因为Print方法不需要任何参数所以我们没有在括号中放入任何东西(但是我们仍然需要包含括号!)。我们也可以分成三步第一步我们声明变量第二步创建对象第三步输出。Message mutiMessage;mutiMessage new Message(Hello,world\n Im a Viking.\n Oh,Damn.);mutiMessage.Print();在声明对象的同时创建对象更好一些。应用程序类代码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PrintMessage {/// /// Prints a message to the console/// class Program {/// /// Prints the message/// /// command-line arguments static void Main(string[] args) {Message mutiMessage new Message(Hello,world\n Im a Viking.\n Oh,Damn.);mutiMessage.Print();Console.WriteLine();}}}调用方法1.没有返回值和参数的方法objectName.MethodName()// objectName:对象名// MethodName:调用方法名// 因为没有返回值所以不创建变量并赋值2.有返回值、没有参数的方法variableName objectName.MethodName();// variableName:持有返回值的变量名// objectName对象名// MethodName我们调用的方法名// 因为有返回值所以要创建变量并赋值3.没有返回值、有参数的方法objectName.MethodName(argument,argument,...);// objectName对象名// MethodName我们调用的方法名// argument每个参数的实参// 因为有参数所以要在括号里加上argument4.有返回值、有参数的方法variableName objectName.MethodName(argument,argument,...)// variable持有返回值的变量名// objectName对象名// MethodName我们调用的方法名// argument每个参数的实参// 因为有返回值且有参数所以要创建变量并赋值在括号里加上argument。以洗牌为例这是个不需要返回值和参数的方法deck.Shuffle();我们执行程序时到达方法调用的部分程序会转到方法执行方法中的代码然后返回到原始程序中的下一行代码。从一副牌中抓取顶牌的实例(调用有返回值但无参数的方法)card deck.TakeTopCard();// 我们调用一个方法返回一个值我们需要再设置一个变量来持有这个值。// 方法名之后要加()。deck.TakeTopCard();// 而这个代码只是单纯地用方法处理而不返回。// 所以对于有返回的方法我们应该设法保存返回值以便后续对其进行操作。切牌的实例(调用有参数但无返回值的方法)deck.Cut(26);// 在特定的位置26进行切牌// 只有稍微复杂的调用方法才会有参数// 调用的时候对于方法头中的每一个参数我们都要提供一个实参方法头中的参数数量和方法调用中的实参数量必须匹配。对于方法调用中的每个参数参数的数据类型必须与参数的数据类型匹配。如果一个方法有多个参数我们需要以正确的顺序提供它们。C#使用方法调用中列出参数的顺序来匹配参数和实参。如果参数是值类型我们可以为实参使用变量也可以使用文字。int cutLocation 26;deck.Cut(cutLocation);// 这种形式也是可以的当调用的方法既有返回值又有参数时有defLocation bandName.IndexOf(Def);// 我们提供了一个字符串作为实参将返回值保存在defLocation中。参考^Beginning C# Programming with Unity Visual Studio Edition