2013-12-13 20 views

Trả lời

16

tĩnh Typing

gõ tĩnh có nghĩa là loại được biết đến và kiểm tra tính đúng đắn trước khi chạy chương trình của bạn. Điều này thường được thực hiện bởi trình biên dịch của ngôn ngữ. Ví dụ, phương pháp Java sau sẽ gây ra một biên dịch lỗi, trước khi bạn chạy chương trình của bạn:

public void foo() { 
    int x = 5; 
    boolean b = x; 
} 

động Typing

động gõ có nghĩa là loại chỉ được gọi là chương trình bạn đang chạy. Ví dụ: tập lệnh Python sau (3, nếu có vấn đề) có thể chạy mà không có sự cố:

def erroneous(): 
    s = 'cat' - 1 

print('hi!') 

Nó thực sự sẽ xuất ra hi!.Nhưng nếu chúng ta gọi là erroneous:

def erroneous(): 
    s = 'cat' - 1 

erroneous() 
print('hi!') 

Một TypeError sẽ được nâng lên tại thời gian chạy khierroneous được gọi.

-1

tĩnh đánh máy ngôn ngữ:

  • Bạn cần phải tuyên bố 'loại' của biến trước đó.
NSString *string = @"Hello"; 
  • Bạn không thể lưu đối tượng (hoặc bê tông hoặc nguyên thủy) của loại hình khác trong biến của cùng một tên
NSString *string = @"Hello"; 
int string = 9; // Not legal, compile type warning 

ví dụ của tĩnh ngôn ngữ đã nhập: Ja va, Objective-C, vv

tạo kiểu động Ngôn Ngữ:

  • Không cần phải khai báo các loại đối tượng. nó sẽ được tìm ra trong thời gian chạy.

string = 'Hello'

  • Chúng tôi được phép thay đổi loại đối tượng cho cùng một biến, như tên đang bị ràng buộc để một đối tượng với toán tử gán.
string = 'Hello' 
    string = 9 // Allowed 

ví dụ của ngôn ngữ kiểu động: Python, vv

+5

-1 Nhập tĩnh và động không có liên quan gì đến chú thích/suy luận loại. Nó như vậy xảy ra rằng nhiều ngôn ngữ gõ tĩnh cũ nhấn mạnh vào chú thích kiểu, nhưng đó là không thích hợp. Có các ngôn ngữ đánh máy tĩnh mà không có chú thích kiểu. (Haskell, ví dụ.) – sleeparrow

Các vấn đề liên quan