天天看點

什麼是強類型、弱類型、動态類型、靜态類型語言強類型語言弱類型語言優缺點動态類型語言靜态類型語言

強類型語言

強制類型定義的語言,即一旦某一個變量被定義類型,如果不經強制轉換,那麼它永遠就死該資料類型。

強類型語言包括:Java、.net、

Python

、C++等語言。其中Python是動态語言,是強類型定義語言,是類型安全的語言,Java是靜态語言,是強類型定義語言,也是類型安全的語言。

強類型接口設計

  • 使用 feigh 設計強類型接口
  • 什麼是強類型、弱類型、動态類型、靜态類型語言強類型語言弱類型語言優缺點動态類型語言靜态類型語言
  • 什麼是強類型、弱類型、動态類型、靜态類型語言強類型語言弱類型語言優缺點動态類型語言靜态類型語言

弱類型語言

弱類型定義的語言,某一個變量被定義類型,該變量可以根據環境變化自動。弱類型語言包括:VB,PHP,

JavaScript

等語言。其中VBScript是動态語言,是一種類型不安全的原因。

舉個栗子吧:

var A=5;
var B="5"
sumA=A+B;
sumB=A-B;      

sumA=55,系統預設+字元連接配接符,将A轉化為字元串類型;而sumB=0;系統認為-是算數運算符,進而将B轉化為int類型,是以sum為5-5=0;

優缺點

強類型語言和弱類型原因其判斷的根本是是否會隐形進行語言類型轉變。

強類型原因在速度上可能略遜于弱類型語言,但是強類型定義語帶來的嚴謹性又避免了不必要的錯誤。

什麼是強類型、弱類型、動态類型、靜态類型語言強類型語言弱類型語言優缺點動态類型語言靜态類型語言

動态類型語言

動态性語言是指在運作期間才去做資料類型檢查的語言,也就是說動态類型語言程式設計時,永遠不用給任何變量指定資料類型,該語言會在第一次指派給變量時,在内部将資料類型記錄下來。

和Ruby就是一種典型的動态類型語言,其他的各種腳本語言如VBScript也多少屬于動态類型語言。

靜态類型語言

靜态類型語言與動态類則剛好相反,它的資料類型在編譯期間檢查,也就是說在寫程式時要聲明所有變量的資料類型,C/C++是靜态類型語言的典型代表,其他靜态語言還有C#、Java等。

對于動态語言與靜态語言的區分,其根本在于判斷是在運作期間去做資料類型還是在編譯期間檢查。

什麼是強類型、弱類型、動态類型、靜态類型語言強類型語言弱類型語言優缺點動态類型語言靜态類型語言