




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 面向?qū)ο缶幊袒A(chǔ) 教學(xué)目標(biāo) 面向?qū)ο蟪绦蛟O(shè)計(jì)(Object Oriented Programming,簡(jiǎn)稱(chēng)OOP)最早是在C+中使用的先進(jìn)程序設(shè)計(jì)方法,它盡可能地模擬人類(lèi)習(xí)慣的思維方式,使開(kāi)發(fā)軟件的方法和過(guò)程盡可能地接近人類(lèi)認(rèn)識(shí)世界、解決問(wèn)題的方法與過(guò)程。采用面向?qū)ο蟮某绦蚍治龊驮O(shè)計(jì)技術(shù)開(kāi)發(fā)的軟件系統(tǒng),穩(wěn)定性、可重用性和可維護(hù)性都很好。本書(shū)前面介紹了C#語(yǔ)法和編程的所有基礎(chǔ)知識(shí)。但是,要了解C#語(yǔ)言和.NET Framework的強(qiáng)大功能,還需要使用OOP技術(shù)。本章首先介紹OOP的基礎(chǔ)知識(shí),進(jìn)而引導(dǎo)讀者踏入面向?qū)ο蟪绦蛟O(shè)計(jì)的殿堂教學(xué)重點(diǎn)面向?qū)ο缶幊探涌谂c繼承多態(tài)性運(yùn)算符重載引用類(lèi)型和值
2、類(lèi)型面向?qū)ο蟾攀?面向?qū)ο缶幊淌莿?chuàng)建計(jì)算機(jī)應(yīng)用程序的一種較新的方法,它解決了所謂的傳統(tǒng)編程技巧帶來(lái)的問(wèn)題。 在客觀世界中,可以把具有相似特征的事物歸為一類(lèi),也就是把具有相同屬性的對(duì)象看成一個(gè)類(lèi)(class)。比如,所有的汽車(chē)可以歸成一個(gè)“汽車(chē)類(lèi)”,所有的人可以歸成一個(gè)“人類(lèi)”。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,“類(lèi)”就是對(duì)具有相同屬性和相同操作的一組對(duì)象的定義。從另一個(gè)角度來(lái)看,對(duì)象就是類(lèi)的一個(gè)實(shí)例。 OOP相關(guān)的概念 類(lèi)和對(duì)象靜態(tài)成員對(duì)象的生命周期繼承接口多態(tài)性對(duì)象之間的關(guān)系運(yùn)算符重載引用類(lèi)型和值類(lèi)型類(lèi)和對(duì)象(1)類(lèi)是面向?qū)ο蟪绦蛟O(shè)計(jì)的基本構(gòu)成模塊。從定義來(lái)講,類(lèi)是一種數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)可能包含數(shù)
3、據(jù)程序、函數(shù)成員以及其它的嵌套類(lèi)型。數(shù)據(jù)成員類(lèi)型有常量、域和事件;函數(shù)成員類(lèi)型有方法、屬性、索引指示器、操作符、構(gòu)造函數(shù)和析構(gòu)函數(shù) 對(duì)象是從類(lèi)型中創(chuàng)建的,就像前面的變量一樣。對(duì)象的類(lèi)型在OOP中有一個(gè)特殊的名稱(chēng):類(lèi) 對(duì)象是OOP應(yīng)用程序的一個(gè)組成部件。這個(gè)組成部件封裝了部分應(yīng)用程序,這部分程序可以是一個(gè)過(guò)程、一些數(shù)據(jù)或一些更抽象的實(shí)體 類(lèi)和對(duì)象(2)字段是一個(gè)代表和某對(duì)象或類(lèi)相關(guān)的變量的成員屬性是提供對(duì)對(duì)象或類(lèi)的特性進(jìn)行訪問(wèn)的成員方法是一個(gè)執(zhí)行可以由對(duì)象或類(lèi)完成的計(jì)算或行為的成員 事件是使得對(duì)像和類(lèi)提供通知的成員 靜態(tài)成員 靜態(tài)成員可以在類(lèi)的實(shí)例之間共享,所以可以將它們看作是類(lèi)的全局對(duì)象。靜態(tài)
4、屬性和靜態(tài)字段可以訪問(wèn)獨(dú)立于任何對(duì)象實(shí)例的數(shù)據(jù),靜態(tài)方法可以執(zhí)行與對(duì)象類(lèi)型相關(guān)、但與對(duì)象實(shí)例無(wú)關(guān)的命令。在使用靜態(tài)成員時(shí),甚至不需要實(shí)例化對(duì)象 對(duì)象的生命周期 每個(gè)對(duì)象都一個(gè)明確定義的生命周期,除了“正在使用”的正常狀態(tài)之外,還有兩個(gè)重要的階段:構(gòu)造階段:對(duì)象最初被創(chuàng)建并實(shí)例化的時(shí)期。這個(gè)初始化過(guò)程稱(chēng)為構(gòu)造階段,由構(gòu)造函數(shù)來(lái)完成。析構(gòu)階段:在刪除一個(gè)對(duì)象時(shí),常常需要執(zhí)行一些清理工作,釋放對(duì)象占有的資源,這由析構(gòu)函數(shù)來(lái)完成。繼承 繼承是OOP最重要的特性之一。任何類(lèi)都可以從另一個(gè)類(lèi)中繼承,被繼承(也稱(chēng)為派生)的類(lèi)稱(chēng)為父類(lèi)(也稱(chēng)為基類(lèi)),派生出的類(lèi)成為子類(lèi),子類(lèi)擁有父類(lèi)的所有成員 繼承是傳遞的。如
5、果C從B派生,并且B從A派生,那么C繼承在B中聲明的成員同時(shí)也繼承在A中聲明的成員。一個(gè)派生類(lèi)擴(kuò)展它的直接基類(lèi)。一個(gè)派生類(lèi)可以添加同它繼承的成員一樣的新成員,但是不能去掉一個(gè)繼承的成員的定義。構(gòu)造函數(shù)和析構(gòu)函數(shù)不能被繼承。一個(gè)派生類(lèi)可以通過(guò)用相同的名稱(chēng)或聲明一個(gè)新的成員的方法隱藏繼承的成員。一個(gè)類(lèi)的實(shí)例包含在類(lèi)和它的基類(lèi)中聲明的所有實(shí)例域的備份,并且存在一個(gè)從繼承類(lèi)類(lèi)型到任何基類(lèi)類(lèi)型的隱式轉(zhuǎn)換。一個(gè)類(lèi)可以聲明虛擬方法、屬性和索引,并且派生類(lèi)可以覆蓋這些功能成員的執(zhí)行。這使得類(lèi)可以展示多態(tài)行為,此行為被功能成員調(diào)用實(shí)現(xiàn),而這個(gè)調(diào)用要根據(jù)實(shí)例的運(yùn)行時(shí)類(lèi)型,通過(guò)這個(gè)類(lèi)型,方法成員被調(diào)用。接口 接口就
6、是把隱式公共方法和屬性組合起來(lái),以封裝特定功能的一個(gè)集合。一個(gè)接口定義了一個(gè)協(xié)議。一個(gè)實(shí)現(xiàn)了接口的類(lèi)或結(jié)構(gòu)必須符合它的協(xié)議。一個(gè)接口可以從多個(gè)基本接口繼承,而一個(gè)類(lèi)或結(jié)構(gòu)也可以實(shí)現(xiàn)多個(gè)接口。 C# 中一個(gè)比較特殊的接口是IDisposable,支持IDisposable接口的對(duì)象必須實(shí)現(xiàn)其Dispose()方法,該方法的主要作用是,當(dāng)不再需要某個(gè)對(duì)象時(shí),就調(diào)用這個(gè)方法,釋放重要的資源,否則,該資源會(huì)等到對(duì)垃圾回收調(diào)用析構(gòu)函數(shù)時(shí)才釋放 多態(tài)性 繼承的一個(gè)結(jié)果是使得派生類(lèi)在方法和屬性上有一定的重疊,因此,可以使用相同的語(yǔ)法處理從同一個(gè)基類(lèi)實(shí)例化的對(duì)象。而多態(tài)性則更推進(jìn)了一步,它可以把某個(gè)派生類(lèi)型的
7、變量賦值給其基類(lèi)類(lèi)型的變量接口也可以使用多態(tài)性,盡管不能像對(duì)象那樣實(shí)例化接口,但可以建立接口類(lèi)型的變量,然后就可以在支持該接口的對(duì)象上,使用這個(gè)變量訪問(wèn)該接口提供的方法和屬性 對(duì)象之間的關(guān)系 包含關(guān)系:一個(gè)類(lèi)包含另一個(gè)類(lèi)。這類(lèi)似于繼承關(guān)系,但包含類(lèi)可以控制對(duì)被包含類(lèi)的成員的訪問(wèn),甚至在使用被包含類(lèi)的成員前進(jìn)行其他處理。集合關(guān)系:一個(gè)類(lèi)用作另一個(gè)類(lèi)的多個(gè)實(shí)例的容器。這類(lèi)似于對(duì)象數(shù)組,但集合有其他功能,包括索引、排序、重新設(shè)置大小等。 運(yùn)算符重載 運(yùn)算符重載是指通過(guò)函數(shù)重載使得我們可以對(duì)類(lèi)的對(duì)象實(shí)例使用標(biāo)準(zhǔn)的運(yùn)算符 運(yùn)算符重載非常有用,因?yàn)槲覀兛梢栽谶\(yùn)算符重載中執(zhí)行需要的任何操作。要重載運(yùn)算符,需
8、要給類(lèi)添加運(yùn)算符類(lèi)型成員(它們必須是static)。一些運(yùn)算符有多種用途,(例如運(yùn)算符就有一元和二元兩種功能),因此我們還指定了要處理多少個(gè)操作數(shù),以及這些操作數(shù)的類(lèi)型 引用類(lèi)型和值類(lèi)型 值類(lèi)型變量在內(nèi)存的棧中存儲(chǔ)它們自己和它們的內(nèi)容。引用類(lèi)型變量在內(nèi)存的堆中存儲(chǔ)一個(gè)引用,而在另一個(gè)地方存儲(chǔ)內(nèi)容。實(shí)際上,在使用C#時(shí),不必過(guò)多地考慮這個(gè)問(wèn)題。因?yàn)樵谑褂脮r(shí),值類(lèi)型變量和引用類(lèi)型變量的使用方式基本上完全相同。值類(lèi)型和引用類(lèi)型的一個(gè)主要區(qū)別是,值類(lèi)型總是包含一個(gè)值,而引用類(lèi)型可以是null,表示它們不包含值。但是,可以使用可空類(lèi)型(這是泛型的一種形式)創(chuàng)建一個(gè)值類(lèi)型,使值類(lèi)型在這個(gè)方面的行為方式類(lèi)似
9、于引用類(lèi)型(即可以為null)。VS 2005中的OOP工具 “類(lèi)視圖”窗口除了可以查看類(lèi)的結(jié)構(gòu)信息之外,還可以訪問(wèn)許多項(xiàng)的相關(guān)代碼 對(duì)象瀏覽器該窗口顯示了與“類(lèi)視圖”窗口相同的信息,另外還顯示了.NET類(lèi)型的其他信息 添加新類(lèi)選擇“項(xiàng)目”|“添加類(lèi)”菜單命令 生成UML類(lèi)圖 在主窗口中選擇Program.cs文件,然后單擊“解決方案資源管理器”工具欄中的“查看類(lèi)關(guān)系圖”按鈕 定義C#類(lèi) 類(lèi)的聲明抽象類(lèi)密封類(lèi)類(lèi)基礎(chǔ)規(guī)范基類(lèi)接口列表類(lèi)主體類(lèi)的聲明(1)類(lèi)聲明的組成如下:一系列可選的屬性,跟著一系列可選的類(lèi)修飾符,關(guān)鍵詞class和一個(gè)作為類(lèi)名的標(biāo)識(shí)符,跟著一個(gè)可選的類(lèi)的基本說(shuō)明,然后是一對(duì)定義的
10、類(lèi)的主體,還可以跟一個(gè)可選的分號(hào) 修 飾 符含 義無(wú)或internal類(lèi)只能在當(dāng)前項(xiàng)目中訪問(wèn)public類(lèi)可以在任何地方訪問(wèn)abstract 或internal abstract類(lèi)只能在當(dāng)前項(xiàng)目中訪問(wèn),不能實(shí)例化,只能繼承public abstract類(lèi)可以在任何地方訪問(wèn),不能實(shí)例化,只能繼承sealed或internal sealed類(lèi)只能在當(dāng)前項(xiàng)目中訪問(wèn),不能派生,只能實(shí)例化public sealed類(lèi)可以在任何地方訪問(wèn),不能派生,只能實(shí)例化new只允許出現(xiàn)在嵌套類(lèi)中,指定了一個(gè)類(lèi)通過(guò)相同的名稱(chēng)隱藏了一個(gè)繼承的成員類(lèi)的聲明(2)修飾符abstract用來(lái)聲明類(lèi)為抽象類(lèi),抽象類(lèi)不能被實(shí)例化,
11、而只能派生新類(lèi)。抽象類(lèi)與非抽象類(lèi)相比有如下不同點(diǎn):抽象類(lèi)不能被實(shí)例化,在一個(gè)抽象類(lèi)上使用new操作符是錯(cuò)誤的。當(dāng)然可以有編譯時(shí)類(lèi)型為抽象的變量和數(shù)值,這樣的變量和數(shù)值必須或者為null或者包含對(duì)從抽象類(lèi)型派生的非抽象類(lèi)的實(shí)例的引用。抽象類(lèi)可以(但是不需要)包含抽象成員。抽象類(lèi)不能是密封的。sealed修飾符用來(lái)聲明一個(gè)密封類(lèi),一旦在類(lèi)的聲明時(shí)使用了sealed修飾符,就不能從這個(gè)類(lèi)派生新類(lèi)了。封裝類(lèi)不能是任何抽象類(lèi),sealed修飾符主要用于防止非計(jì)劃的派生,但是它也使得某些運(yùn)行時(shí)的優(yōu)化成為可能。 類(lèi)基礎(chǔ)規(guī)范 類(lèi)基礎(chǔ)規(guī)范是指在類(lèi)聲明時(shí),可能會(huì)定義了類(lèi)的直接基本類(lèi)和由類(lèi)實(shí)現(xiàn)的接口。它跟在類(lèi)名后面
12、,由冒號(hào)和基類(lèi)名和(或)接口列表組成,一個(gè)類(lèi)的直接基類(lèi)只能有一個(gè),但可以實(shí)現(xiàn)多個(gè)接口,可以同時(shí)有基類(lèi)和接口列表,基類(lèi)名和接口名之間用逗號(hào)分隔 如果類(lèi)基礎(chǔ)規(guī)范包括一個(gè)接口類(lèi)型的列表,那么,就稱(chēng)該類(lèi)實(shí)現(xiàn)了給定的接口類(lèi)型。如果指定了基類(lèi),則基類(lèi)必須緊跟在冒號(hào)的后面,之后才是接口列表 類(lèi)主體 類(lèi)的主體定義了類(lèi)的成員,并用一對(duì)括起來(lái)。類(lèi)的成員可以分為下面的幾種:構(gòu)造函數(shù):又可分為實(shí)例構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),前者執(zhí)行需要對(duì)類(lèi)的實(shí)例進(jìn)行初始化的動(dòng)作;后者則執(zhí)行對(duì)類(lèi)本身進(jìn)行初始化的動(dòng)作。析構(gòu)函數(shù):執(zhí)行在類(lèi)的實(shí)例要被永遠(yuǎn)丟棄前要實(shí)現(xiàn)的動(dòng)作,釋放對(duì)象占用的資源。字段:包括與類(lèi)相關(guān)的常數(shù)數(shù)據(jù)和變量。方法:實(shí)現(xiàn)了可以
13、被類(lèi)實(shí)現(xiàn)的計(jì)算和行為。屬性:定義了命名的屬性和與對(duì)這個(gè)屬性進(jìn)行讀寫(xiě)的相關(guān)行為。事件:定義了由類(lèi)產(chǎn)生的公告。索引:它允許類(lèi)的實(shí)例通過(guò)與數(shù)組相同的方法來(lái)索引。操作符:它定義了可以被應(yīng)用于類(lèi)的實(shí)例上的表達(dá)式操作符。類(lèi)型:它代表位于類(lèi)中的類(lèi)型。類(lèi)成員 類(lèi)成員聲明必須遵循下面的規(guī)則:構(gòu)造函數(shù)和析構(gòu)函數(shù)必須與類(lèi)名相同,所有其他的成員必須與類(lèi)名不同。字段、事件或類(lèi)型的名稱(chēng)必須在類(lèi)聲明中是唯一的,即不能與其他成員的名稱(chēng)相同。方法的名稱(chēng)必須與同一個(gè)類(lèi)中聲明的其他非方法的名稱(chēng)不同。索引的簽名必須與同一個(gè)類(lèi)中聲明的所有其他索引的名稱(chēng)不同。操作符的簽名必須與同一個(gè)類(lèi)中聲明的所有其他操作符的簽名不同。構(gòu)造函數(shù)和析構(gòu)函數(shù)
14、 如果一個(gè)類(lèi)不包含任何構(gòu)造函數(shù)聲明,就會(huì)自動(dòng)提供一個(gè)默認(rèn)的構(gòu)造函數(shù)。默認(rèn)的構(gòu)造函數(shù)通常是下面的形式public MyClass(): base() 這里MyClass是類(lèi)的名稱(chēng)。默認(rèn)構(gòu)造函數(shù)通過(guò)base()完全調(diào)用直接基類(lèi)的無(wú)參數(shù)構(gòu)造函數(shù)。 構(gòu)造函數(shù)的執(zhí)行順序?yàn)榱藢?shí)例化派生的類(lèi),必須實(shí)例化它的基類(lèi)。而要實(shí)例化它的基類(lèi),又必須實(shí)例化這個(gè)基類(lèi)的基類(lèi),這樣一直到實(shí)例化System.Object為止。結(jié)果是無(wú)論使用什么構(gòu)造函數(shù)實(shí)例化類(lèi),總是要先調(diào)用System.Object.Object()。構(gòu)造函數(shù)也可以帶有訪問(wèn)關(guān)鍵字,前面定義的構(gòu)造函數(shù)都是公有的,但是private和protected的構(gòu)造函數(shù)也
15、有各自的作用 類(lèi)的析構(gòu)函數(shù)由帶有前綴的類(lèi)名(與構(gòu)造函數(shù)的相同)來(lái)聲明。當(dāng)進(jìn)行垃圾回收時(shí),就執(zhí)行析構(gòu)函數(shù)中的代碼,釋放資源 類(lèi)可以有一個(gè)靜態(tài)構(gòu)造函數(shù),它只能被運(yùn)行時(shí)代碼所使用,而且不能帶有訪問(wèn)修飾符 定義字段 字段的聲明可能包括屬性集合、一個(gè)new修飾符、4個(gè)訪問(wèn)修飾符的有效組合、一個(gè)靜態(tài)修飾符和一個(gè)readonly修飾符等。字段聲明的類(lèi)型指定了被聲明引入的成員的類(lèi)型。這個(gè)類(lèi)型后面跟著一個(gè)變量聲明符列表,其中的每一個(gè)變量聲明符將引入一個(gè)新成員。變量聲明符又包括一個(gè)為成員命名的標(biāo)識(shí)符和一個(gè)可選的“=”符號(hào)和一個(gè)給出變量的初始數(shù)值的變量初始化程序靜態(tài)字段可以通過(guò)定義它們的類(lèi)來(lái)訪問(wèn) 可以使用關(guān)鍵字co
16、nst來(lái)創(chuàng)建一個(gè)常量 定義方法 方法聲明可以包含一系列屬性,一個(gè)new修飾符,4個(gè)訪問(wèn)修飾符的一種有效組合,static、virtual、override或abstract修飾符中的一個(gè),和一個(gè)extern修飾符。方法聲明的返回類(lèi)型指定了該方法計(jì)算并返回的數(shù)據(jù)的類(lèi)型。如果方法不返回任何數(shù)值,那么返回類(lèi)型就是void 對(duì)于抽象和外部的方法,方法主體簡(jiǎn)單地由分號(hào)組成。對(duì)于其他方法,方法主體由指定在方法被調(diào)用時(shí)執(zhí)行的語(yǔ)句組成 定義屬性 屬性的聲明方式與字段類(lèi)似,但包含的內(nèi)容更多,因?yàn)樗鼈冊(cè)谛薷闹斑€要執(zhí)行一些額外的操作。屬性聲明可以包含一個(gè)new 修飾符,四個(gè)訪問(wèn)修飾符的有效組合和static、 v
17、irtual、override或abstract修飾符中的一個(gè) 屬性擁有兩個(gè)類(lèi)似于函數(shù)的塊:一個(gè)塊用于獲取屬性的值;另一個(gè)塊用于設(shè)置屬性的值。這兩個(gè)塊也稱(chēng)為訪問(wèn)器,分別用get和set關(guān)鍵字來(lái)定義,可以用于控制對(duì)屬性的訪問(wèn)級(jí)別 使用類(lèi)圖添加成員 選擇“視圖”|“其他窗口”|“類(lèi)詳細(xì)信息”菜單命令,打開(kāi)“類(lèi)詳細(xì)信息”窗口在“類(lèi)詳細(xì)信息”窗口中的文本框中輸入方法名稱(chēng),就可以把一個(gè)方法添加到當(dāng)前類(lèi)中。然后就可以依次設(shè)置方法的返回值類(lèi)型、方法的可訪問(wèn)性、摘要信息、是否在類(lèi)圖中隱藏等。添加屬性的方式與添加方法類(lèi)似 添加字段的方式很簡(jiǎn)單,只需輸入字段的名稱(chēng),選擇類(lèi)型和訪問(wèn)修飾符即可。 本 章 小 結(jié) 本章介紹了面向?qū)ο缶幊痰幕A(chǔ)知識(shí)。包括面向?qū)ο缶幊痰乃枷耄琌OP相關(guān)的概念,對(duì)象聲明周期等,最后又介紹了VS 2005中的OOP工具,利用這些工具可以快速完成很多工作,而無(wú)須編寫(xiě)大量的代碼。通過(guò)本章的學(xué)習(xí),使讀者對(duì)OOP有一定的理解和認(rèn)識(shí),并能自己編寫(xiě)簡(jiǎn)單的C# 類(lèi),為深入
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年部編版新教材語(yǔ)文小學(xué)三年級(jí)上冊(cè)第三單元復(fù)習(xí)課教案
- 海安中學(xué)高二數(shù)學(xué)試卷
- 湖南文科數(shù)學(xué)試卷
- 建鄴一模數(shù)學(xué)試卷
- 《網(wǎng)絡(luò)綜合布線》教案 項(xiàng)目2任務(wù)2 綜合布線的設(shè)計(jì)原則
- 健康管理中心相關(guān)課件
- 上海市第四中學(xué)2025年高一物理第二學(xué)期期末經(jīng)典模擬試題含解析
- 2025年中國(guó)風(fēng)電塔架行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 中國(guó)加氫石油樹(shù)脂行業(yè)市場(chǎng)調(diào)查報(bào)告
- 中國(guó)雙乙烯酮行業(yè)市場(chǎng)調(diào)查報(bào)告
- 廣東省江門(mén)市普通高中2025屆物理高一下期末綜合測(cè)試試題含解析
- HJ 636-2012 水質(zhì) 總氮的測(cè)定 堿性過(guò)硫酸鉀消解紫外分光光度法
- 婦科醫(yī)生進(jìn)修匯報(bào)課件
- 宋龍淵道德經(jīng)講義
- 受限空間安全作業(yè)票填寫(xiě)模板(2022年更新)
- ATP-MgCl2產(chǎn)品介紹(課堂PPT)
- [計(jì)算機(jī)]力克工藝單軟件kaledo_style案例
- 山東大學(xué)生物化學(xué)課件緒論
- 李開(kāi)復(fù):人工智能應(yīng)用的四波浪潮
- 公安機(jī)關(guān)警用裝備申領(lǐng)登記表模板
- 鎮(zhèn)江區(qū)國(guó)有土地上房屋征收評(píng)價(jià)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論