類(lèi)和結(jié)構(gòu)體是人們構(gòu)建代碼所用的一種通用且靈活的構(gòu)造體,要在其中實(shí)現(xiàn)各種功能,就需要按照規(guī)定的語(yǔ)法規(guī)則來(lái)定義屬性和添加方法。
而通常,一個(gè)類(lèi)的實(shí)例被稱(chēng)之為對(duì)象。
類(lèi)和結(jié)構(gòu)體的共同之處: 定義屬性用于儲(chǔ)存值 定義方法用于提供功能 定義下標(biāo)用于通過(guò)下標(biāo)語(yǔ)法訪問(wèn)值 定義初始化器用于生成初始化值 都可以通過(guò)擴(kuò)展來(lái)增加功能
有共同之處,就一定有不同之處,而與結(jié)構(gòu)體相比,類(lèi)還擁有以下功能:
繼承:允許一個(gè)類(lèi)繼承另一個(gè)類(lèi)的特征;
類(lèi)型轉(zhuǎn)換:允許在運(yùn)行時(shí)檢查和解釋一個(gè)類(lèi)實(shí)例的類(lèi)型;
取消初始化器:允許一個(gè)類(lèi)實(shí)例釋放任何其所被分配的資源(類(lèi)實(shí)例反初始化來(lái)釋放存儲(chǔ)空間) ;
引用計(jì)數(shù):允許對(duì)一個(gè)類(lèi)的多次引用 (注意:結(jié)構(gòu)體是通過(guò)被復(fù)制的方式在代碼中傳遞的)。
類(lèi)的對(duì)象是引用類(lèi)型,而結(jié)構(gòu)體是值類(lèi)型,所以累的賦值時(shí)傳遞引用,結(jié)構(gòu)體則是傳值。
當(dāng)看到通過(guò)關(guān)鍵字class創(chuàng)建的肯定是類(lèi),而通過(guò)struct創(chuàng)建的則是結(jié)構(gòu)體,所以,類(lèi)和結(jié)構(gòu)體一定要區(qū)分開(kāi)哦。