2010-09-30 39 views

Trả lời

11

Các phương thức của lớp Toán là tĩnh. Vì vậy, khi làm

Math.round(average) 

Lớp Toán học không thay đổi theo những gì bạn đã làm - nó chỉ trả về giá trị hoặc hoạt động theo giá trị bạn vượt qua.

Phương pháp tĩnh là hữu ích cho các tiện ích. Những điều như

StringUtils.removeWhitespaceFrom(textContent:String):String 

hoặc

BrowserUtils.openInNewWindow(url:String):void 

Nó rất khác thường mà bạn muốn sử dụng một phương pháp tĩnh cho bất cứ điều gì khác. Không sử dụng các số liệu thống kê như 'getInstance()' để tạo Singletons - thay vào đó hãy xem xét một khuôn khổ cho việc tiêm phụ thuộc.

3

phương pháp tĩnh là phương pháp mà một không cụ thể cho bất kỳ trường hợp của một lớp (đối tượng) họ là phương pháp mà không được phép chứa tài liệu tham khảo này và bạn có thể truy cập chúng thông qua các lớp học trực tiếp (không phải là trường hợp đối tượng)

2

Để làm cho khái niệm của bạn rõ ràng, Giả sử nếu bạn muốn biết bao nhiêu lần lớp của bạn đã được khởi tạo, bạn sẽ sử dụng bộ đếm biến tĩnh trong hằng số lớp, mỗi khi đối tượng của bạn được tạo.

Sau đó, bạn phải sử dụng phương pháp tĩnh để truy cập dữ liệu này, bạn có thể khai báo biến công khai hoặc mặc định và truy cập biến đó với tên lớp nhưng vi phạm nguyên tắc OOP. đây là ví dụ ít

public class CAR {

private static var Counter: int = 0;

chức năng riêng CAR() {Counter ++; }

chức năng tĩnh công khai ReturnTotalCarInstances(): int { Bộ đếm trả lại; }

}

biến tĩnh có thats lợi ích của họ tại sao nó được cung cấp trong hầu hết các ngôn ngữ lập trình. Các trường hợp đếm là sử dụng nhỏ biến tĩnh. Chúng được sử dụng trong phạm vi lớn hơn nhiều. Điểm chính là nó được sử dụng để chia sẻ dữ liệu trên toàn cầu trong số tất cả các đối tượng của Class.

4

Phương pháp tĩnh có thể được sử dụng làm nhà thầu quá tải. ActionScript không có quá tải hàm, vì vậy đôi khi tôi viết một cái gì đó như:

public class Foo { 
    public static function fromBar(bar:Bar):Foo { 
     var foo:Foo = new Foo(); 
     ... //initializing foo object from bar 
     return foo; 
    } 

    public static function fromBaz(baz:Baz):Foo { 
     var foo:Foo = new Foo(); 
     ... //initializing foo object from baz 
     return foo; 
    } 
} 
Các vấn đề liên quan