如何ActionScript 3的类工作(How Actionscript 3 Classes Wo

2019-06-26 11:23发布

我需要一点点帮助理解类ActionScript 3中是如何工作,我明白你开始“打包”,为什么,然后再导入任何必要的库,以及随后命名类,并指出,如果它是公共/私营和延伸东西。

在这之后是什么,我不明白。 看来你写“(公共)函数的类名 ()

我不明白你为什么这样做,在发生什么大括号。

我可能错过了早一点阅读的,因为我已经做了一些阅读,但我似乎无法得到它。

可能有人尝试解释一下吗? 谢谢。

Answer 1:

ActionScript 3的类

package语句

好吧,首先像你提到的,一类必须由包裹package 1。 这给我们的第一个块,在这里你需要定义的类。

package
{
    // Your class here.
}

package声明反映相对于类的位置.fla 2。 例如,如果你有相同的目录项目的.fla中的文件夹“类”,然后将该文件夹中的类将需要反映一个包语句:

package classes
{
    // Your class here.
}


定义类

在一个包语句 ,你可以插入一个类。 不要与程序包本身,它可以包含很多类混淆 - 每个班只需要具有相同的封装声明它自己的文件。

类定义由最高达5份的:

  1. 命名空间。 一个类可以是internalpublic 。 一个internal类只能通过类同一包中可以看出,而public课可以从任何地方的项目中可以看出。
  2. 类名。
  3. 基类(可选)。 如果一个基类的定义,那么你的新类将作为一个扩展,类,继承所有的基类的品质。
  4. 接口来实现(可选)。 接口是一个高级的主题。因此,我建议你忘了这些,现在,直到你的AS3和OOP演变。

如果你想创建一个封装内所谓的“人”类classes ,那么我们就结束了:

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;
        }
    }
}


方法

方法被用来保存可以调用该方法时运行逻辑。 方法经常返回值和能接受的论点。 方法可以属于你所期望的性能,以便能够属于任何命名空间。

我们可能希望能够很容易地确定每个实例的BMI Person是我们创造的,所以我们应该创建一个方法:

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);

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

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

1 可以放置类,其可以以相同的。作为文件被称为一个包的外面。
2,您可以添加更多的源路径和包可以相对于这一点。



Answer 2:

具有相同的名称作为类的函数是一个构造函数 。 在花括号是基本上的代码,将立即执行时对象将被创建部件。 试图寻找有关构造函数的信息,他们的存在,我认为在每一个面向对象编程语言(我可能是错的),所以你有很多的资源。

您还可以阅读关于这个概念的维基百科 。



Answer 3:

名为一样的类函数是构造函数。 它是可选的,所以你可以离开它,如果你不需要它。 默认的构造函数将被添加,基本上什么都不做。

构造函数,您可以编写一个类的实例被创建后立即执行代码(即当另一个代码位运行new ClassName()你通常用它来初始化由类使用的一些变量。定义构造函数也您可以处理构造函数的参数,这时候他们使用的其他代码可以通过new运营商。



文章来源: How Actionscript 3 Classes Work