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

          Class與Type的區(qū)別與聯(lián)系

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

          原作:徐家福

          1: 類型的概念

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

          類型的概念與值的概念相對(duì)立,前者是程序中的概念,后者則是程序運(yùn)行時(shí)的概念,兩者通過標(biāo)識(shí)值的語言成分(例如,變量、表達(dá)式等)聯(lián)系起來。

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

          2: 類與類型

          A: 共性

          在對(duì)象式語言中,“值”為對(duì)象(或?qū)ο笾敢举|(zhì)上仍為對(duì)象)。所以,對(duì)象式語言中的類型刻劃了一組對(duì)象及其上可施行的操作。類型所刻劃的對(duì)象稱為類型的實(shí)例。類也刻劃了一組對(duì)象。

          兩者的共性在于二者均刻劃了一組對(duì)象及其上的操作(在前面關(guān)于類的討論中,并未強(qiáng)調(diào)類刻劃對(duì)象上的操作這一事實(shí)),所以,既可以說對(duì)象是類型的實(shí)例,也可以說對(duì)象是類的實(shí)例,類型和類在與對(duì)象的關(guān)系上是相同的。不過,類型欲刻劃一組對(duì)象及其上的操作,必須借助于類,因?yàn)轭愂沁_(dá)到這種目的的唯一設(shè)施。由此可見,類型是以類為基礎(chǔ)的,是通過類來定義的,這體現(xiàn)了二者的聯(lián)系。

          B: 區(qū)別

          l 作用不同

          類是程序的構(gòu)造單位,是描述一組對(duì)象及其上操作的唯一語言成分,故其作用主要是具體描述這組對(duì)象,提供運(yùn)行時(shí)創(chuàng)建這些對(duì)象的“模板”。例如,基于類間的繼承關(guān)系的派生類定義設(shè)施就反映了類在描述對(duì)象方面的作用。

          類型則是標(biāo)志變量或表達(dá)式取值范圍的一種語言成分,其作用主要是對(duì)這些變量或表達(dá)式運(yùn)行時(shí)的取值進(jìn)行約束。例如,對(duì)賦值語句左部的變量和右部的表達(dá)式的類型匹配檢查就反映了類型的約束作用。

          l 與對(duì)象聯(lián)系的緊密程序不同

          類描述對(duì)象的具體形式和其上可施行的具體操作,且強(qiáng)調(diào)所描述的一組對(duì)象的共性,因而,與具體對(duì)象聯(lián)系較密切,而與對(duì)象集的大小則聯(lián)系較少。

          類型強(qiáng)調(diào)所描述的一組對(duì)象的范圍和可施行操作的范圍,與對(duì)象集的大小聯(lián)系較密切,而與其中具體對(duì)象則聯(lián)系較少。

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

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

          但是,也有一些類不能直接作為類型來使用,這是因?yàn)椋瑥念愋偷募s束作用來看,類型強(qiáng)調(diào)所刻劃的對(duì)象的確定性,即對(duì)象范圍的確定性。因此,只有所描述的對(duì)象的范圍確定的類才可直接用作類型。

          Feedback

          # re: Class與Type的區(qū)別與聯(lián)系[未登錄]  回復(fù)  更多評(píng)論   

          2016-06-03 16:52 by hh
          test

          # re: Class與Type的區(qū)別與聯(lián)系[未登錄]  回復(fù)  更多評(píng)論   

          2016-06-03 16:52 by hh
          test2

          # re: Class與Type的區(qū)別與聯(lián)系[未登錄]  回復(fù)  更多評(píng)論   

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

          # re: Class與Type的區(qū)別與聯(lián)系  回復(fù)  更多評(píng)論   

          2016-08-07 04:21 by 1111
          @hh
          我?guī)湍銣y(cè)試一下

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 称多县| 凤翔县| 宜川县| 故城县| 德阳市| 若尔盖县| 东兰县| 泰和县| 当涂县| 武定县| 龙口市| 攀枝花市| 平阳县| 比如县| 台中市| 尚志市| 梓潼县| 永川市| 天津市| 探索| 绥芬河市| 荣成市| 仪陇县| 武义县| 祁门县| 永嘉县| 绥芬河市| 寻甸| 开远市| 宜宾市| 内丘县| 岳阳县| 呼伦贝尔市| 竹北市| 兴城市| 会东县| 酒泉市| 准格尔旗| 睢宁县| 双城市| 大洼县|