1.13. 创建可重用代码
问题
我要实现代码重用,而不是每次都去复制同样的代码。
解决办法
创建一个方法,然后再需要的地方调用它,类中的函数 我们通常称为方法。
怎样创建类方法:
控制修饰符 function 方法名 ( ):返回数据类型 {
// 代码块
}
调用该方法只要饮用方法名就可以了,比如:
方法名( );
讨论
方法中的代码可以被多次执行。当你需要在不同的时间不同的地方执行同一个任务时就会很有用。把代码放在方法既便于理解又便于维护,而不用再多个地方修改。
像类变量一样,方法也有访问控制符。修饰符有:
private
只能被自身类访问。
protected
能被自身类实例或子类实例访问,其他类实例不能访问。
internal
可以被所在包中的所有类实例访问。
public
可被任何类访问。
如果都没指定修饰符,默认为internal。下面的代码定义了一个画线方法,然后被调用10次。
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
还有种种要的方法类型是静态方法,静态方法不属于类实例,可以通过类直接调用静态方法。比如,有个类叫ExampleApplication, 定义了静态方法:
public static function showMessage( ):void {
trace("Hello world");
}
可以这样调用:
ExampleApplication.showMessage( );
有些类只有静态方法,Math类就是个例子,注意我们使用Math方法时并没有创建类实例,我们只是调用了类属性那样调用类方法,比如Math.random( ), Math.round( ), 等等