gpt4 book ai didi

actionscript-3 - Actionscript 3类的工作方式

转载 作者:行者123 更新时间:2023-12-04 22:22:52 28 4
gpt4 key购买 nike

我需要一点帮助来了解类在Actionscript 3中的工作方式。我理解您从“包”开始,然后为什么要导入任何必需的库,然后命名该类并说明它是公共/私有还是扩展任何内容。

在那之后,我不明白。看来您写的是“(公共)函数类名()

我不明白您为什么要这么做以及花括号中的内容。

我可能错过了一些较早的阅读内容,因为我已经做了一些阅读,但似乎无法理解。

有人可以向我解释吗?谢谢。

最佳答案

ActionScript 3类

package语句。

好的,首先,就像您提到的那样,必须用package 1来包装类。这为我们提供了第一个块,您需要在其中定义类。

package
{
// Your class here.
}


package语句反映类相对于 .fla 2的位置。例如,如果在与项目.fla相同的目录中有一个文件夹“ classes”,则该文件夹中的类将需要一个package语句来反映:

package classes
{
// Your class here.
}



定义班级。

在package语句中,您可以插入一个类。不要将此与包本身混淆,包本身可以包含许多类-每个类只需要具有自己的带有相同package语句的文件即可。

一个类的定义最多由5部分组成:


命名空间。一个类可以是 internalpublicinternal类只能由同一包中的类看到,而 public类可以从项目中的任何位置看到。
类名。
基类(可选)。如果定义了基类,那么您的新类将充当该类的扩展,并继承该基类的所有特质。
要实现的接口(可选)。接口是一个高级主题,因此我建议您暂时忘记这些,直到AS3和OOP演变为止。


如果要在包 classes中创建一个名为“ Person”的类,那么我们将得出以下结论:

package classes
{
public class Person
{
// Class qualities here.
}
}



属性。

类可以包含属性。使用 var关键字定义属性。它们可能属于许多名称空间之一(包括您自己的名称空间),并用于保存属于您的类的值。属性最常见地聚集在类的顶部。

我们的 Person类可以使用 heightweight属性:

package classes
{
public class Person
{
// Properties.
public var height:Number = 1.70;
public var weight:Number = 67.5;
}
}


可以通过您创建的任何 Person实例访问这些属性。每个实例将具有自己的一组这些属性。


类的构造函数(我相信这是您要问的)。

构造函数用于保存应在创建类实例后立即运行的逻辑。类的构造函数与类本身具有相同的名称。它必须是 public,并且不返回任何内容。构造函数可以接受参数,这些参数通常用于传递对该类或所需值的依赖项的引用。

package classes
{
public class Person
{
// Properties.
public var height:Number = 1.70;
public var weight:Number = 67.5;

// Constructor.
public function Person(height:Number, weight:Number)
{
this.height = height;
this.weight = weight;
}
}
}



方法。

方法用于保存可以在调用该方法时运行的逻辑。方法通常返回值并可以接受参数。方法可以属于您希望属性能够属于的任何名称空间。

我们可能希望能够轻松确定我们创建的每个 Person实例的BMI,因此我们应该为此创建一个方法:

package classes
{
public class Person
{
// Properties.
public var height:Number = 170;
public var weight:Number = 65.5;

// Constructor.
public function Person(height:Number, weight:Number)
{
this.height = height;
this.weight = weight;
}

// Determine my BMI and return the result.
public function getBMI():Number
{
return weight / (height * height);
}
}
}



实例。

现在,我们已经定义了新类,我们可以使用 new关键字创建该类的实例。可以在可以访问 Person类的任何地方进行此操作,在本例中,由于我们已将类创建为 public,因此可以在项目中的任何位置进行。

尽管该类是 public,但是要从其所属的软件包外部的任何位置访问它,都需要使用 import语句。该语句将需要在属于不同包的任何类中使用。 import语句使用与 package相同的名称,并包含要在结尾处包含的类的名称:

import classes.Person;


导入 Person后,您可以创建它的实例并将其分配给具有不同 heightweight值的变量:

var marty:Person = new Person(71, 1.76);
var bruce:Person = new Person(96.4, 1.72);


然后,我们可以使用他们的 getBMI()方法获取每个人的BMI:

trace(marty.getBMI()); // 22.9
trace(bruce.getBMI()); // 32.6




1您可以将类放在可在同一.as文件中引用的包之外。
2您可以添加更多的源路径,并且包可以是相对的。

关于actionscript-3 - Actionscript 3类的工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11603993/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com