posts - 12, comments - 4, trackbacks - 0, articles - 0

          Class與Type的區別與聯系

          Posted on 2007-11-17 22:34 Edward's 閱讀(3994) 評論(4)  編輯  收藏 所屬分類: java

          原作:徐家福

          1: 類型的概念

          概念:類型刻劃了一組值及其上可施行的操作,可理解為值集和操作集構成的二元組。

          類型的概念與值的概念相對立,前者是程序中的概念,后者則是程序運行時的概念,兩者通過標識值的語言成分(例如,變量、表達式等)聯系起來。

          比如變量v說明為具有類型T,類型T所刻劃的值集為{v1,v2,…vn,…},則變量v運行時能取且只能取某個vi為值。由此可見,類型規定了具有該類型的變量或表達式的取值范圍。

          2: 類與類型

          A: 共性

          在對象式語言中,“值”為對象(或對象指引,但本質上仍為對象)。所以,對象式語言中的類型刻劃了一組對象及其上可施行的操作。類型所刻劃的對象稱為類型的實例。類也刻劃了一組對象。

          兩者的共性在于二者均刻劃了一組對象及其上的操作(在前面關于類的討論中,并未強調類刻劃對象上的操作這一事實),所以,既可以說對象是類型的實例,也可以說對象是類的實例,類型和類在與對象的關系上是相同的。不過,類型欲刻劃一組對象及其上的操作,必須借助于類,因為類是達到這種目的的唯一設施。由此可見,類型是以類為基礎的,是通過類來定義的,這體現了二者的聯系。

          B: 區別

          l 作用不同

          類是程序的構造單位,是描述一組對象及其上操作的唯一語言成分,故其作用主要是具體描述這組對象,提供運行時創建這些對象的“模板”。例如,基于類間的繼承關系的派生類定義設施就反映了類在描述對象方面的作用。

          類型則是標志變量或表達式取值范圍的一種語言成分,其作用主要是對這些變量或表達式運行時的取值進行約束。例如,對賦值語句左部的變量和右部的表達式的類型匹配檢查就反映了類型的約束作用。

          l 與對象聯系的緊密程序不同

          類描述對象的具體形式和其上可施行的具體操作,且強調所描述的一組對象的共性,因而,與具體對象聯系較密切,而與對象集的大小則聯系較少。

          類型強調所描述的一組對象的范圍和可施行操作的范圍,與對象集的大小聯系較密切,而與其中具體對象則聯系較少。

          l 并不是所有類都可直接作為類型使用

          類是類型的基礎,類型靠類來定義,有些類可直接作為類型來使用,在這種意義下,我們也可稱這些類是類型。

          但是,也有一些類不能直接作為類型來使用,這是因為,從類型的約束作用來看,類型強調所刻劃的對象的確定性,即對象范圍的確定性。因此,只有所描述的對象的范圍確定的類才可直接用作類型。

          Feedback

          # re: Class與Type的區別與聯系[未登錄]  回復  更多評論   

          2016-06-03 16:52 by hh
          test

          # re: Class與Type的區別與聯系[未登錄]  回復  更多評論   

          2016-06-03 16:52 by hh
          test2

          # re: Class與Type的區別與聯系[未登錄]  回復  更多評論   

          2016-06-03 16:52 by hw
          @hh
          hello

          # re: Class與Type的區別與聯系  回復  更多評論   

          2016-08-07 04:21 by 1111
          @hh
          我幫你測試一下

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 昆山市| 望城县| 临沂市| 门头沟区| 吉安县| 电白县| 都匀市| 桐柏县| 禹城市| 鸡泽县| 中卫市| 越西县| 南康市| 武功县| 兴化市| 台安县| 肇庆市| 广西| 攀枝花市| 林口县| 宝鸡市| 台中市| 灌南县| 英德市| 宜宾市| 霍城县| 青铜峡市| 河津市| 积石山| 盘山县| 稷山县| 平陆县| 博野县| 伊宁县| 庆城县| 洛阳市| 肃北| 新邵县| 旅游| 自治县| 岳西县|