




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章類和對(duì)象
面向過(guò)程的程序設(shè)計(jì):以功能為中心,采用函數(shù)來(lái)描述。
面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP):面向?qū)ο蟪绦蛟O(shè)計(jì)方法認(rèn)為,客觀世界是由各種各樣的實(shí)體組成的,這些實(shí)體就是面向?qū)ο蠓椒ㄖ械膶?duì)象。消息是向某對(duì)象請(qǐng)求服務(wù)的一種表達(dá)方式對(duì)象之間的交互通過(guò)發(fā)送消息來(lái)實(shí)現(xiàn)。消息包括:目標(biāo)對(duì)象,請(qǐng)求的方法,參數(shù)8.1面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述8.1.1什么是面向?qū)ο蟮某绦蛟O(shè)計(jì)1.對(duì)象客觀世界中任何一個(gè)事物都可以看成一個(gè)對(duì)象。對(duì)象兩要素:屬性(attribute):對(duì)象的靜態(tài)特征行為(behavior):對(duì)象的動(dòng)態(tài)特征,它能根據(jù)外界給的信息進(jìn)行相應(yīng)的操作。一個(gè)對(duì)象是由一組屬性和一組行為構(gòu)成的。圖8.1
在一個(gè)系統(tǒng)中的多個(gè)對(duì)象之間通過(guò)一定的渠道相互聯(lián)系,要使某一個(gè)對(duì)象實(shí)現(xiàn)某一種行為(即操作),應(yīng)當(dāng)向它傳送相應(yīng)的消息。對(duì)象之間就是這樣通過(guò)發(fā)送和接收消息互相聯(lián)系的。在C++中,每個(gè)對(duì)象都是由數(shù)據(jù)和函數(shù)(即操作代碼)這兩部分組成的,見圖:如三角形對(duì)象:屬性:它的3個(gè)邊長(zhǎng)。行為:計(jì)算出三角形的面積,并且輸出調(diào)用對(duì)象中的函數(shù)就是向該對(duì)象傳送一個(gè)消息(message),要求該對(duì)象實(shí)現(xiàn)某一行為(功能)。2.封裝與信息隱蔽“封裝”,指兩方面的含義:將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個(gè)對(duì)象中,形成一個(gè)基本單位,各個(gè)對(duì)象之間相對(duì)獨(dú)立,互不干擾。將對(duì)象中某些部分對(duì)外隱蔽,即隱蔽其內(nèi)部細(xì)節(jié),只留下少量接口,以便與外界聯(lián)系,接收外界的消息。
C++的對(duì)象中的函數(shù)名就是對(duì)象的對(duì)外接口,外界可以通過(guò)函數(shù)名來(lái)調(diào)用這些函數(shù)來(lái)實(shí)現(xiàn)某些行為(功能)。3.抽象抽象(abstraction):有關(guān)事物的共性歸納、集中的過(guò)程。抽象的作用是表示同一類事物的本質(zhì)。 對(duì)象是具體存在的,如一個(gè)三角形可以作為一個(gè)對(duì)象,10個(gè)不同尺寸的三角形是10個(gè)對(duì)象。如果這10個(gè)三角形對(duì)象有相同的屬性和行為,可以將它們抽象為一種類型,稱為三角形類型。在C++中,這種類型就稱為“類(class)”。這10個(gè)三角形就是屬于同一“類”的對(duì)象。類是對(duì)象的抽象,而對(duì)象則是類的特例,或者說(shuō)是類的具體表現(xiàn)形式。4.繼承與重用繼承:在原有基礎(chǔ)上增加新的內(nèi)容。例:白色的馬重用:利用一個(gè)已有的類建立一個(gè)新的類,即“軟件重用”思想。5.多態(tài)性多態(tài)性:是指允許不同類的對(duì)象對(duì)同一個(gè)消息作出的響應(yīng)各不相同。多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)重要特征,能增加程序的靈活性。一個(gè)傳統(tǒng)的面向過(guò)程程序設(shè)計(jì)是圍繞功能進(jìn)行的,用一個(gè)函數(shù)實(shí)現(xiàn)功能。所有的數(shù)據(jù)都是公用的,一個(gè)函數(shù)可以使用任何一組數(shù)據(jù),而一組數(shù)據(jù)又能被多個(gè)函數(shù)所使用(見圖8.3)。
面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)圖8.3面向?qū)ο蟪绦蛟O(shè)計(jì)任務(wù)包括兩個(gè)方面:一是設(shè)計(jì)所需的各種類和對(duì)象,即決定把哪些數(shù)據(jù)和操作封裝在一起;二是考慮怎樣向有關(guān)對(duì)象發(fā)送消息,以完成所需的任務(wù)。 這時(shí)他如同一個(gè)總調(diào)度,不斷地向各個(gè)對(duì)象發(fā)出命令,讓這些對(duì)象活動(dòng)起來(lái)(或者說(shuō)激活這些對(duì)象),完成自己職責(zé)范圍內(nèi)的工作。各個(gè)對(duì)象的操作完成了,整體任務(wù)也就完成了。在面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)中程序表述: 程序=算法+數(shù)據(jù)結(jié)構(gòu)在面向?qū)ο蟮慕Y(jié)構(gòu)化程序設(shè)計(jì)中程序表述: 對(duì)象=算法+數(shù)據(jù)結(jié)構(gòu) 程序=(對(duì)象+對(duì)象+對(duì)象+…)+消息或: 程序=對(duì)象s+消息“對(duì)象s”表示多個(gè)對(duì)象。消息的作用就是對(duì)對(duì)象的控制。程序設(shè)計(jì)的關(guān)鍵是設(shè)計(jì)好每一個(gè)對(duì)象,及確定向這些對(duì)象發(fā)出的命令,使各對(duì)象完成相應(yīng)操作。8.1.3類和對(duì)象的作用面向?qū)ο蟮能浖こ贪ㄒ韵聨讉€(gè)部分:面向?qū)ο蠓治?objectorientedanalysis,OOA)面向?qū)ο笤O(shè)計(jì)(objectorienteddesign,OOD)面向?qū)ο缶幊?objectorientedprogramming,
OOP)面向?qū)ο鬁y(cè)試(objectorientedtest,OOT)面向?qū)ο缶S護(hù)(objectorientedsoft
maintenance,OOSM)8.1.4面向?qū)ο蟮能浖_發(fā)每一個(gè)實(shí)體都是對(duì)象。對(duì)象的類型稱為類(class)。類是對(duì)象的抽象,而對(duì)象是類的具體實(shí)例(instance)例如:結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的關(guān)系一樣,在C++中也是先聲明一個(gè)類類型,然后用它去定義若干個(gè)同類型的對(duì)象。對(duì)象就是類類型的一個(gè)變量??梢哉f(shuō)類是對(duì)象的模板。類是抽象的,不占用內(nèi)存,而對(duì)象是具體的,占用存儲(chǔ)空間。8.2類的聲明和對(duì)象的定義
8.2.1類和對(duì)象的關(guān)系下面是聲明一個(gè)結(jié)構(gòu)體類型的方法:structStudent
//聲明了一個(gè)名為Student的結(jié)構(gòu)體類型{ intnum; charname[20]; charsex;};Studentstud1,stud2;
//定義了兩個(gè)結(jié)構(gòu)體變量stud1和stud2。它只包括數(shù)據(jù),沒有包括操作。8.2.2聲明類類型類是用戶自己指定的類型。必須自己根據(jù)需要進(jìn)行聲明,類要先聲明后使用。現(xiàn)在聲明一個(gè)類:
classStudent//以class開頭{ intnum; charname[20]; charsex; //以上3行是數(shù)據(jù)成員
voiddisplay()//這是成員函數(shù)
{ cout<<″num:″<<num<<endl; cout<<″name:″<<name<<endl; cout<<″sex:″<<sex<<endl; }};Studentstud1,stud2;定義了Student類的對(duì)象stud1和stud2類聲明的一般形式如下:
class類名
{private:
私有的數(shù)據(jù)和成員函數(shù); public:
公用的數(shù)據(jù)和成員函數(shù); };private和public稱為成員訪問(wèn)限定符。如果在類的定義中既不指定private
或public
,則系統(tǒng)就默認(rèn)為是私有的。
protected聲明的成員稱為受保護(hù)的成員,它不能被類外訪問(wèn)(這點(diǎn)與私有成員類似),但可以被派生類的成員函數(shù)訪問(wèn)。1.先聲明類類型,然后再定義對(duì)象(1)class
類名對(duì)象名例如:classStudentstud1,stud2;(2)類名對(duì)象名例如:Studentstud1,stud2;8.2.3定義對(duì)象的方法2.在聲明類類型的同時(shí)定義對(duì)象classStudent //聲明類類型{public: //先聲明公用部分
voiddisplay(){ cout<<″num:″<<num<<endl; cout<<″name:″<<name<<endl; cout<<″sex:″<<sex<<endl;}private: //后聲明私有部分
intnum; charname[20]; charsex;}stud1,stud2; //定義了兩個(gè)Student類的對(duì)象3.不出現(xiàn)類名,直接定義對(duì)象class
//無(wú)類名{private:
//聲明以下部分為私有的┆
public:
//聲明以下部分為公用的┆
}stud1,stud2;
//定義了兩個(gè)無(wú)類名的類對(duì)象
直接定義對(duì)象,在C++中是合法的、允許的,但卻很少用,也不提倡用。在定義一個(gè)對(duì)象時(shí),編譯系統(tǒng)會(huì)為這個(gè)對(duì)象分配存儲(chǔ)空間,以存放對(duì)象中的成員。用struct定義一個(gè)類型class聲明的類關(guān)鍵字不同:struct數(shù)據(jù)都是公用的關(guān)鍵字不同:class默認(rèn)為private8.2.4類和結(jié)構(gòu)體類型的異同structStudent{ intnum; charname[20]; charsex;voiddisplay(){ cout<<num<<endl; cout<<name<<endl; cout<<sex<<endl;}};classStudent{ intnum; charname[20]; charsex;voiddisplay(){cout<<num<<endl; cout<<name<<endl; cout<<sex<<endl;}};公有的私有的
類的成員函數(shù)與一般函數(shù)的區(qū)別:類的成員函數(shù)屬于一個(gè)類的成員,出現(xiàn)在類體中。它可以被指定為private(私有的)、public(公用的)或protected(受保護(hù)的)。在使用類函數(shù)時(shí),要注意調(diào)用它的權(quán)限(它能否被調(diào)用)以及它的作用域(函數(shù)能使用什么范圍中的數(shù)據(jù)和函數(shù))。例如:私有的成員函數(shù)只能被本類中的其他成員函數(shù)所調(diào)用,而不能被類外調(diào)用。8.3類的成員函數(shù)
8.3.1成員函數(shù)的性質(zhì)classStudent{public:voiddisplay(); //在類內(nèi)聲明display類函數(shù)private:intnum;stringname;charsex;};voidStudent∷display() //在類外定義類函數(shù){cout<<″num:″<<num<<endl;cout<<″name:″<<name<<endl;cout<<″sex:″<<sex<<endl;}Studentstud1,stud2; //定義兩個(gè)類對(duì)象8.3.2在類外定義成員函數(shù)注意:在類體中直接定義函數(shù)時(shí),函數(shù)名前不加類名成員函數(shù)在類外定義時(shí),必須在函數(shù)名前面加上類名,予以限定(qualifed),“∷”是作用域限定符如果函數(shù)名前面既無(wú)類名又無(wú)作用域運(yùn)算符“∷”,如:∷display()或display()則表示display函數(shù)是全局函數(shù),即一般普通函數(shù)。類函數(shù)在類外定義,類體的位置應(yīng)在函數(shù)定義之前如果一個(gè)函數(shù),其函數(shù)體只有2~3行,一般可在聲明類時(shí)在類體中定義。為了提高運(yùn)行時(shí)的效率,對(duì)于較簡(jiǎn)單的函數(shù)可以聲明為內(nèi)聯(lián)形式(函數(shù)代碼嵌入程序的調(diào)用點(diǎn))內(nèi)聯(lián)函數(shù)體中不能有復(fù)雜結(jié)構(gòu)(如循環(huán)語(yǔ)句和switch語(yǔ)句)在類中聲明內(nèi)聯(lián)成員函數(shù)的方式:將函數(shù)體放在類的聲明中。使用inline關(guān)鍵字。8.3.3inline成員函數(shù)例:在類中定義內(nèi)聯(lián)函數(shù)。classStudent{public:voiddisplay() //或inlinevoiddisplay()
{ cout<<″num:″<<num<<endl; cout<<″name:″<<name<<endl; cout<<″sex:″<<sex<<endl;}private: intnum; stringname; charsex;};例:在類中聲明、類外定義的內(nèi)聯(lián)成員函數(shù)classStudent{public: inlinevoiddisplay(); //聲明此函數(shù)為內(nèi)置函數(shù)private: intnum;stringname;charsex;};inlinevoidStudent∷display() //在類外定義內(nèi)聯(lián)函數(shù){ cout<<″num:″<<num<<endl; cout<<″name:″<<name<<endl; cout<<″sex:″<<sex<<endl;}例如:計(jì)算該類對(duì)象所占用的字節(jié)數(shù)。classTime{public: inthour;intminute;intsec;voidset(){ cin>>a>>b>>c;}};可以用下面的語(yǔ)句來(lái)輸出該類對(duì)象所占用的字節(jié)數(shù):cout<<sizeof(Time)<<endl; //輸出值為12成員函數(shù)的存儲(chǔ):
在程序中經(jīng)常需要訪問(wèn)對(duì)象中的成員。訪問(wèn)對(duì)象中的成員可以有3種方法:通過(guò)對(duì)象名和成員運(yùn)算符訪問(wèn)對(duì)象中的成員;
通過(guò)指向?qū)ο蟮闹羔樤L問(wèn)對(duì)象中的成員;
通過(guò)對(duì)象的引用變量訪問(wèn)對(duì)象中的成員。8.4對(duì)象成員的引用一般形式為: 對(duì)象名.成員名例如:stud1.num=1001;stud1.display();√display();×注意:只能訪問(wèn)public成員,而不能訪問(wèn)private成員,如果已定義num為私有數(shù)據(jù)成員,下面的語(yǔ)句是錯(cuò)誤的:stud1.num=10101;×//num不能被外界引用8.4.1通過(guò)對(duì)象名和成員運(yùn)算符訪問(wèn)對(duì)象中的成員如果有以下程序段:
classTime{public: //數(shù)據(jù)成員是公用的inthour;intminute;};Timet,*p;//定義對(duì)象t和指針變量pp=&t; //使p指向?qū)ο髏cout<<p->hour;//輸出p指向的對(duì)象中的成員hour在p指向t的前提下,p->hour,(*p).hour和t.hour三者等價(jià)。8.4.2通過(guò)指向?qū)ο蟮闹羔樤L問(wèn)對(duì)象中的成員
如果為一個(gè)對(duì)象定義了一個(gè)引用變量,它們是共占同一段存儲(chǔ)單元的,實(shí)際上它們是同一個(gè)對(duì)象,可以通過(guò)引用變量來(lái)訪問(wèn)對(duì)象中的成員。如果已聲明了Time類,并有以下定義語(yǔ)句:Timet1;//定義對(duì)象t1Time&t2=t1;//定義Time類引用變量t2,并使之初始化為t1cout<<t2.hour;//輸出對(duì)象t1中的成員hour由于t2與t1共占同一段存儲(chǔ)單元(即t2是t1的別名),因此t2.hour就是t1.hour。8.4.3通過(guò)對(duì)象的引用變量來(lái)訪問(wèn)對(duì)象中的成員t1t2公用成員函數(shù)是用戶使用類的公用接口(publicinterface),或者說(shuō)是類的對(duì)外接口。通過(guò)成員函數(shù)對(duì)數(shù)據(jù)成員進(jìn)行操作稱為類的實(shí)現(xiàn)類中被操作的數(shù)據(jù)是私有的,實(shí)現(xiàn)的細(xì)節(jié)對(duì)用戶是隱蔽的,這種實(shí)現(xiàn)稱為私有實(shí)現(xiàn)(privateimplementation)。這種“類的公用接口與私有實(shí)現(xiàn)的分離”形成了信息隱蔽。8.5類的封裝性和信息隱蔽
8.5.1公用接口與私有實(shí)現(xiàn)的分離如果將類的聲明放在指定的頭文件中,用戶如果想用該類,只要把有關(guān)的頭文件包含進(jìn)來(lái)即可。8.5.2類聲明和成員函數(shù)定義的分離例如,可以分別寫兩個(gè)文件://student.h(這是頭文件,在此文件中進(jìn)行類的聲明)classStudent//類聲明{public:voiddisplay();//公用成員函數(shù)原型聲明private:intnum;charname[20];charsex;};//student.cpp//在此文件中進(jìn)行函數(shù)的定義#include<iostream>#include″student.h″//不要漏寫此行,否則編譯通不過(guò)voidStudent∷display()//在類外定義display類函數(shù){cout<<″num:″<<num<<endl;cout<<″name:″<<name<<endl;cout<<″sex:″<<sex<<endl;}//main.cpp主函數(shù)模塊#include<iostream>#include″student.h″//將類聲明頭文件包含進(jìn)來(lái)intmain(){Studentstud; //定義對(duì)象stud.display();//執(zhí)行stud對(duì)象的display函數(shù)return0;}注意:由于將頭文件student.h放在用戶當(dāng)前目錄中,因此在文件名兩側(cè)用雙撇號(hào)包起來(lái)(″student.h″),否則編譯時(shí)會(huì)找不到此文件。圖8.6成員函數(shù)的定義不放在頭文件。若干個(gè)常用的功能相近的類聲明集中在一起,形成類庫(kù)。類庫(kù)有兩種:標(biāo)準(zhǔn)類庫(kù)和用戶類庫(kù)。類庫(kù)包括兩個(gè)組成部分:
(1)類聲明頭文件;
(2)已經(jīng)過(guò)編譯的成員函數(shù)的定義,它是目標(biāo)文件。用戶只需把類庫(kù)裝入到自己的計(jì)算機(jī)系統(tǒng)中(一般裝到C++編譯系統(tǒng)所在的子目錄下),并在程序中用#include命令行將有關(guān)的類聲明的頭文件包含到程序中,就可以使用這些類和其中的成員函數(shù),順利地運(yùn)行程序。在用戶程序中包含類聲明頭文件,類聲明頭文件就成為用戶使用類的公用接口例8.1最簡(jiǎn)單的例子。#include<iostream>usingnamespacestd;classTime//定義Time類{public://數(shù)據(jù)成員為公用的
inthour;intminute;intsec;};8.6類和對(duì)象的簡(jiǎn)單應(yīng)用舉例intmain(){Timet1;//定義t1為Time類對(duì)象cin>>t1.hour;//輸入設(shè)定的時(shí)間cin>>t1.minute;cin>>t1.sec;cout<<t1.hour<<″:″<<t1.minute<<″:″<<t1.sec<<endl;//輸出時(shí)間return0;}運(yùn)行情況如下:123243↙12:32:43注意:(1)在引用數(shù)據(jù)成員hour,minute,sec時(shí)不要忘記在前面指定對(duì)象名。(2)不要錯(cuò)寫為類名,如寫成Time.hour,Time.minute,Time.sec是不對(duì)的。因?yàn)轭愂且环N抽象的數(shù)據(jù)類型,并不是一個(gè)實(shí)體,也不占存儲(chǔ)空間,而對(duì)象是實(shí)際存在的實(shí)體,是占存儲(chǔ)空間的,其數(shù)據(jù)成員是有值的,可以被引用的。(3)如果刪去主函數(shù)的3個(gè)輸入語(yǔ)句,即不向這些數(shù)據(jù)成員賦值,則它們的值是不可預(yù)知的。例8.2引用多個(gè)對(duì)象的成員。(1)程序(a)#include<iostream>usingnamespacestd;classTime{public:inthour;intminute;intsec;};intmain(){Timet1;//定義對(duì)象t1cin>>t1.hour;cin>>t1.minute;cin>>t1.sec;cout<<t1.hour<<″:″<<t1.minute<<″:″<<t1.sec<<endl;Timet2;cin>>t2.hour;cin>>t2.minute;cin>>t2.sec;cout<<t2.hour<<″:″<<t2.minute<<″:″<<t2.sec<<endl;return0;}運(yùn)行情況如下:103243↙10:32:43223243↙22:32:43(2)程序(b)#include<iostream>usingnamespacestd;classTime{public:inthour;intminute;intsec;};intmain(){voidset_time(Time&);voidshow_time(Time&);Timet1;set_time(t1);show_time(t1);Timet2;set_time(t2);show_time(t2);return0;}voidset_time(Time&t){cin>>t.hour;cin>>t.minute;cin>>t.sec;}voidshow_time(Time&t){cout<<t.hour<<″:″<<t.minute<<″:″<<t.sec<<endl;}運(yùn)行情況與程序(a)相同。(3)程序(c)intmain(){voidset_time(Time&,inthour=0,intminute=0,intsec=0);voidshow_time(Time&);Timet1;set_time(t1,12,23,34);show_time(t1);Timet2;set_time(t2);//普通函數(shù)調(diào)用,無(wú)初始值使用默認(rèn)參數(shù)show_time(t2);return0;}voidset_time(Time&t,inthour,intminute,intsec){ t.hour=hour; t.minute=minute; t.sec=sec;}voidshow_time(Time&t){ cout<<t.hour<<″:″<<t.minute<<″:″<<t.sec<<endl;}程序運(yùn)行時(shí)的輸出為:12:23:34(t1中的時(shí)、分、秒)0:0:0(t2中的時(shí)、分、秒)
以上兩個(gè)程序中定義的類都只有數(shù)據(jù)成員,沒有成員函數(shù),這顯然沒有體現(xiàn)出使用類的優(yōu)越性。在下面的例子中,類體中就包含了成員函數(shù)。例8.3將例8.2的程序改用含成員函數(shù)的類來(lái)處理。#include<iostream>usingnamespacestd;classTime{public: voidset_time(); //公用成員函數(shù)
voidshow_time(); //公用成員函數(shù)
private: //數(shù)據(jù)成員為私有
inthour; intminute; intsec;};intmain(){Timet1;
//定義對(duì)象t1t1.set_time();
//調(diào)用對(duì)象t1的成員函數(shù)set_time,輸入數(shù)據(jù)t1.show_time();
//調(diào)用對(duì)象t1的成員函數(shù)show_time,輸出數(shù)據(jù)Timet2;
//定義對(duì)象t2t2.set_time();
//調(diào)用對(duì)象t2的成員函數(shù)set_time,輸入數(shù)據(jù)t2.show_time();
//調(diào)用對(duì)象t2的成員函數(shù)show_time,輸出數(shù)據(jù)return0;}voidTime∷set_time()//在類外定義set_time函數(shù){
cin>>hour;cin>>minute;cin>>sec;}voidTime∷show_time()//在類外定義show_time函數(shù){
cout<<hour<<″:″<<minute<<″:″<<sec<<endl;}運(yùn)行情況與例8.2中的程序(a)相同。注意:在主函數(shù)中調(diào)用兩個(gè)成員函數(shù)時(shí),應(yīng)指明對(duì)象名(t1,t2)。在類外定義函數(shù)時(shí),應(yīng)指明函數(shù)的作用域(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉(cāng)庫(kù)門衛(wèi)合同范本
- 返租格子商鋪合同范本
- 2025陜西陜焦化工有限公司招聘(200人)筆試參考題庫(kù)附帶答案詳解
- 質(zhì)押物品合同范本
- S-Tetrahydrofuran-3-ylamine-3-Aminotetrahydrofuran-生命科學(xué)試劑-MCE
- S-3-Oxo-cyclopentanecarboxylic-acid-methyl-ester-生命科學(xué)試劑-MCE
- N-Acetyl-3-4-methylenedioxymethcathinone-生命科學(xué)試劑-MCE
- Memantine-lactose-adduct-生命科學(xué)試劑-MCE
- Anti-CD71-TfR1-Antibody-JR-141-antibody-uncoupled-from-iduronate-2-sulfatase-生命科學(xué)試劑-MCE
- 中央2025年求是雜志社招聘6人筆試歷年參考題庫(kù)附帶答案詳解
- 染廠公司簡(jiǎn)介(4個(gè)范本)
- PPT用中國(guó)地圖(可編輯)
- 基于德育的農(nóng)村中小學(xué)校園欺凌現(xiàn)象的解決對(duì)策優(yōu)秀獲獎(jiǎng)科研論文
- 鐵路工程概預(yù)算-工程經(jīng)濟(jì)管理培訓(xùn)-課件
- 小學(xué)英語(yǔ)一般現(xiàn)在時(shí)-(演示)課件
- 面部激素依賴性皮炎的管理課件
- 盧卡奇教學(xué)講解課件
- 智慧環(huán)衛(wèi)項(xiàng)目建設(shè)方案
- 焊接作業(yè)現(xiàn)場(chǎng)環(huán)境溫度濕度記錄
- 長(zhǎng)期護(hù)理保險(xiǎn)待遇資格申請(qǐng)表
- 馬克思主義基本原理教案:第一章+教案
評(píng)論
0/150
提交評(píng)論