強類型語言
強制類型定義的語言,即一旦某一個變量被定義類型,如果不經強制轉換,那么它永遠就死該數據類型。
強類型語言包括:Java、.net、Python、C++等語言。其中Python是動態語言,是強類型定義語言,是類型安全的語言,Java是靜態語言,是強類型定義語言,也是類型安全的語言。
強類型接口設計
- 使用 feigh 設計強類型接口
弱類型語言
弱類型定義的語言,某一個變量被定義類型,該變量可以根據環境變化自動。弱類型語言包括:VB,PHP,JavaScript等語言。其中VBScript是動態語言,是一種類型不安全的原因。
舉個栗子吧:
sumA=55,系統默認+字符連接符,將A轉化為字符串類型;而sumB=0;系統認為-是算數運算符,從而將B轉化為int類型,所以sum為5-5=0;
優缺點
強類型語言和弱類型原因其判斷的根本是是否會隱形進行語言類型轉變。
強類型原因在速度上可能略遜於弱類型語言,但是強類型定義語帶來的嚴謹性又避免了不必要的錯誤。
動態類型語言
動態性語言是指在運行期間才去做數據類型檢查的語言,也就是說動態類型語言編程時,永遠不用給任何變量指定數據類型,該語言會在第一次賦值給變量時,在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬於動態類型語言。
靜態類型語言
靜態類型語言與動態類則剛好相反,它的數據類型在編譯期間檢查,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他靜態語言還有C#、Java等。
對於動態語言與靜態語言的區分,其根本在於判斷是在運行期間去做數據類型還是在編譯期間檢查。
https://blog.51cto.com/u_11440114/3005498