卓語言對泛型類的使用
泛型是現代程式語言很重要的功能。c#語言可以完全定義和使用泛型型別。卓語言是面向廣大非專業人員的,為了減低程式設計難度,沒有實現定義泛型型別,也不支援定義泛型方法,但是支援使用泛型型別。
卓語言提供的列表就是乙個泛型型別,與它對應的.net型別是list。
在c#中,建立乙個list字串的泛型例項是這樣的:
var list = new list();
list後面必須要跟一對』<>』,方括號裡放int,這是c#的標準語法,其它語言也是這樣寫的。
而卓語言建立乙個字串列表例項是這樣寫:
lb=文字列表(新的)
這個程式最後的『(新的)』只是呼叫乙個無引數的建構函式,和上一條程式c#中最後的』()』意義一樣,括號裡加』新的』沒有實際意義,只是幫助初學者理解,不至於見到一對空括號困惑。
這裡的『文字列表』的意義和『list』是一樣的,『list』對應列表,『string』對應文字。但是有兩點不同:
順序不同,卓語言是泛型引數在前泛型型別在後,c#和它是相反的;
卓語言沒有一對尖括號。
這樣做的意義是更容易讓人理解。
想想我們平常說話,是不是也是』文字『在前,『列表』在後,而且平常說話寫字也沒有在文字外面加尖括號。所以卓語言更容易理解,這一處寫起來也簡單,知識點比c#少。卓語言編譯器可以智慧型從『文字列表』分離出『文字』和『列表』,並且再根據『列表』是泛型型別的情況,進一步分析出』 文字』是泛型引數,最後翻譯成.net格式『列表《文字》』,最終生成il指令。
放到一起比較一下:
文字列表,list
整數列表,list
矩形列表,list《矩形》
是不是卓語言的方式更好?
泛型結構使用大全(泛型類 泛型介面)
1 泛型類可能有多個引數,此時應將多個引數一起放到尖括號內,比如 2 泛型類的構造器如下 public genericclass 錯誤示例 public genericclass 3 例項化後,操作原來泛型位置的結構必須與指定的泛型型別一致。4 泛型不同的引用不能互相賦值。儘管在編譯時arrayli...
泛型 泛型類的定義
泛型的定義與普通類定義相比,首先在類名後增加了由尖括號標識的型別變數,一般用t表示。t可以在泛型中的任何地方使用。對於泛化介面也是這樣定義。我們來看看普通類box以及box的泛型的 1 普通類box的定義 public class mybox public object get 2 box類的泛型定...
自定義類使用泛型and方法使用泛型
使用泛型的自定義類,泛型可以使用任意的資料型別,在建立物件的時候確定是什麼資料型別,建立物件的時候不使用泛型,那就預設是object型別 格式 package cn.zhuobo.day10.aboutgeneric public class classgeneric public classgen...