IBM java培訓(xùn)內(nèi)部資料(面向?qū)ο笤O(shè)計(jì)思想)ppt課件_第1頁
IBM java培訓(xùn)內(nèi)部資料(面向?qū)ο笤O(shè)計(jì)思想)ppt課件_第2頁
IBM java培訓(xùn)內(nèi)部資料(面向?qū)ο笤O(shè)計(jì)思想)ppt課件_第3頁
IBM java培訓(xùn)內(nèi)部資料(面向?qū)ο笤O(shè)計(jì)思想)ppt課件_第4頁
IBM java培訓(xùn)內(nèi)部資料(面向?qū)ο笤O(shè)計(jì)思想)ppt課件_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、面向?qū)ο笤O(shè)計(jì)思想為什么要運(yùn)用面向?qū)ο笈睐iIBM Learning & KnowledgeAgenda函數(shù)類對(duì)象構(gòu)造函數(shù)函數(shù)子程序的概念與作用。定義一個(gè)函數(shù)的格式 編寫打印三個(gè)矩形的程序用流水帳的方式與用函數(shù)的方式進(jìn)展對(duì)比分析。前往值類型 函數(shù)名參數(shù)類型 方式參數(shù)1,參數(shù)類型 方式參數(shù)2,. 程序代碼 return 前往值;其中:方式參數(shù):在方法被調(diào)用時(shí)用于接納外部傳入的數(shù)據(jù)的變量。參數(shù)類型:就是該方式參數(shù)的數(shù)據(jù)類型。前往值:方法在執(zhí)行終了后返還給調(diào)用它的程序的數(shù)據(jù)。前往值類型:函數(shù)要前往的結(jié)果的數(shù)據(jù)類型。實(shí)參:調(diào)用函數(shù)時(shí)實(shí)踐傳給函數(shù)方式參數(shù)的數(shù)據(jù)。如何了解函數(shù)前往值類型為void的情況 函數(shù)方

2、法函數(shù)調(diào)用的格式在函數(shù)中運(yùn)用return提早前往函數(shù)調(diào)用的過程分析函數(shù)的調(diào)用函數(shù)的重載就是在同一個(gè)類中允許同時(shí)存在一個(gè)以上的同名函數(shù),只需它們的參數(shù)個(gè)數(shù)或類型不同即可。 如:public class Testpublic static void main(String args)int isum;double fsum;isum=add(3,5);isum=add(3,5,6);fsum=add(3.2,6.5); public static int add(int x,int y) reutrn x+y;public static int add(int x,int y,int z)retu

3、rn x+y+z;public static double add(double x,double y) return x+y;函數(shù)的重載Practice 1編寫一個(gè)類ETPTest2_1,使他具有一個(gè)方法為:public int getArea(int i, int j)并前往i * j的值。再從外部調(diào)用這個(gè)方法傳入相應(yīng),并打印出結(jié)果值Practice 2求下面代碼輸出結(jié)果public class ETPTest2_2 private void change(int x) x = 3;System.out.println(x);public static void main(String a

4、rgs) int x = 5;ETPTest2_2 test2_2 = new ETPTest2_2();test2_2.change(x);System.out.println(x);Practice 3求下面代碼輸入結(jié)果public class Main public void change(Obj obj) obj.x = 3;public static void main(String args) Main main = new Main(); Obj obj = new Obj(); System.out.println(obj.x); main.change(obj); Syste

5、m.out.println(obj.x);class Obj int x = 5;Practice 4private float getVar()return x; 以下哪些可以重載上面這條語句A.float getVar() B.public float getVar()C.public double getVar() D.protected float getVar() E.public float getVar(float f)函數(shù)的參數(shù)傳送根本數(shù)據(jù)類型的參數(shù)傳送 函數(shù)的參數(shù)傳送援用數(shù)據(jù)類型的參數(shù)傳送static靜態(tài)變量 當(dāng)我們編寫一個(gè)類時(shí),其實(shí)就是在描畫其對(duì)象的屬性和行為,而并沒有產(chǎn)生

6、本質(zhì)上的對(duì)象,只需經(jīng)過new關(guān)鍵字才會(huì)產(chǎn)生出對(duì)象,這時(shí)系統(tǒng)才會(huì)分配內(nèi)存空間給對(duì)象,其方法才可以供外部調(diào)用。我們有時(shí)候希望無論能否產(chǎn)生了對(duì)象或無論產(chǎn)生了多少對(duì)象的情況下,某些特定的數(shù)據(jù)在內(nèi)存空間里只需一份,例如一切的中國人都有個(gè)國家稱號(hào),每一個(gè)中國人都共享這個(gè)國家稱號(hào),不用在每一個(gè)中國人的實(shí)例對(duì)象中都單獨(dú)分配一個(gè)用于代表國家稱號(hào)的變量。編寫運(yùn)用靜態(tài)變量統(tǒng)計(jì)一個(gè)類產(chǎn)生的實(shí)例對(duì)象的個(gè)數(shù)的程序static靜態(tài)方法在靜態(tài)方法里只能直接調(diào)用同類中其它的靜態(tài)成員包括變量和方法,而不能直接訪問類中的非靜態(tài)成員。這是由于,對(duì)于非靜態(tài)的方法和變量,需求先創(chuàng)建類的實(shí)例對(duì)象后才可運(yùn)用,而靜態(tài)方法在運(yùn)用前不用創(chuàng)建任何對(duì)

7、象。 靜態(tài)方法不能以任何方式援用this和super關(guān)鍵字。與上面的道理一樣,由于靜態(tài)方法在運(yùn)用前不用創(chuàng)建任何實(shí)例對(duì)象,當(dāng)靜態(tài)方法被調(diào)用時(shí),this所援用的對(duì)象根本就沒有產(chǎn)生。 main() 方法是靜態(tài)的,因此JVM在執(zhí)行main方法時(shí)不創(chuàng)建main方法所在的類的實(shí)例對(duì)象,因此在main()方法中,我們不能直接訪問該類中的非靜態(tài)成員,必需創(chuàng)建該類的一個(gè)實(shí)例對(duì)象后,才干經(jīng)過這個(gè)對(duì)象去訪問類中的非靜態(tài)成員,這種情況,我們?cè)谝院蟮睦又袝?huì)多次碰到。靜態(tài)代碼塊 一個(gè)類中可以運(yùn)用不包含在任何方法體中的靜態(tài)代碼塊(static block ),當(dāng)類被載入時(shí),靜態(tài)代碼塊被執(zhí)行,且只被執(zhí)行一次,靜態(tài)塊經(jīng)常用來

8、進(jìn)展類屬性的初始化。 類中的靜態(tài)代碼塊被自動(dòng)執(zhí)行,雖然我們產(chǎn)生了類的多個(gè)實(shí)例對(duì)象,但其中的靜態(tài)代碼塊只被執(zhí)行了一次。當(dāng)一個(gè)程序中用到了其他的類,類是在第一次被運(yùn)用的時(shí)候才被裝載,而不是在程序啟動(dòng)時(shí)就裝載程序中一切能夠要用到的類。 Practice 5下面這個(gè)類聲明了靜態(tài)變量,并且運(yùn)用了靜態(tài)代碼塊初始化變量public class StaticClass private static int i;static i = 3;public static void main(String args) System.out.print(StaticClass.i);請(qǐng)創(chuàng)建一個(gè)類, 運(yùn)用靜態(tài)代碼塊初始化并

9、打印出來看能否生效下一章節(jié)對(duì)象和類JAVA中類的聲明類闡明語法: 類修飾符 class 類名 extends 超類名 implements 接口名 成員變量定義;方法定義;類體JAVA中類的聲明續(xù)類修飾符Modifier:public:允許其他類沒有限制訪問本類,一個(gè)源文件僅可以有一個(gè)public類abstract:沒有實(shí)例的籠統(tǒng)概念類final:不能再被擴(kuò)展,不包含子類的類;易于平安性的實(shí)現(xiàn),或用于創(chuàng)建固定功能的類缺?。嚎杀划?dāng)前包中的其他類訪問父類承繼聲明:extends 父類名實(shí)現(xiàn)接口(interface):implements 接口名JAVA中類的聲明續(xù)例:public abstract

10、 class shapeclass rectangle extends shapefinal class roundrect extends rectangle.? final可以與abstract一同運(yùn)用嗎?類的成員變量的聲明聲明成員變量member的語法修飾符 數(shù)據(jù)類型 變量名;援用:對(duì)象名.變量修飾符訪問控制符public:可被一切其他類援用private:僅可被該類本身援用和修正,不能被其他任何類包括子類援用 成員變量的聲明續(xù)protected:該類本身、子類、同一包中的其他類缺省:本包中的類static:類成員變量,對(duì)一切的實(shí)例一致,援用是前綴可運(yùn)用類名或?qū)ο竺鹒inal:數(shù)值不變常

11、量,定義同時(shí)應(yīng)對(duì)其進(jìn)展初始化成員變量的聲明續(xù)例: class shapeprivate int x;private int y;static final float MaxArea=100.0f;. 方法的聲明定義對(duì)類內(nèi)成員變量數(shù)據(jù)的操作方法的聲明語法:修飾符 前往類型 方法名參數(shù)列表 throws 例外名 方法體;誰可以調(diào)用方法、接受哪些參數(shù)、如何前往信息方法的聲明續(xù)修飾符(Modifier:訪問控制符:public、private、protectedstatic:靜態(tài)方法,又稱類方法運(yùn)用類名或?qū)ο竺鳛榍熬Y,建議運(yùn)用類名在方法體中只能運(yùn)用static變量和static方法abstract:

12、只需接口沒有語句,要在子類中經(jīng)過重新定義override來實(shí)現(xiàn)final:不能被重新定義override方法的聲明續(xù)前往類型:void、return參數(shù)列表:值傳送throws:通告本方法中會(huì)產(chǎn)生的例外異常類型,提示調(diào)用者要對(duì)相應(yīng)的能夠例外進(jìn)展處置。當(dāng)執(zhí)行此方法并發(fā)生了例外時(shí),程序會(huì)轉(zhuǎn)入調(diào)用者編制的例外處置程序段。方法的聲明續(xù)例: class shapeprivate int x;static float MaxArea=100.0f; public void setx(int newx)x=newx;public static void setMA(float newMA)MaxArea=n

13、ewMA;public final getx( )return x 下一章節(jié)對(duì)象對(duì)象的產(chǎn)生Person p1 = new Person();執(zhí)行完后的內(nèi)存形狀對(duì)象的產(chǎn)生當(dāng)一個(gè)對(duì)象被創(chuàng)建時(shí),會(huì)對(duì)其中各種類型的成員變量自動(dòng)進(jìn)展初始化賦值。除了根本數(shù)據(jù)類型之外的都是變量類型都是援用類型,如上面的Person及前面講過的數(shù)組。 對(duì)象的運(yùn)用創(chuàng)建新的對(duì)象之后,我們就可以運(yùn)用“ 對(duì)象名.對(duì)象成員 的格式,來訪問對(duì)象的成員包括屬性和方法 class TestPersonpublic static void main(String args) Person p1 = new Person();Person p2

14、 =new Person();p1.age = -30;p1.shout();p2.shout();程序運(yùn)轉(zhuǎn)的內(nèi)存規(guī)劃如以下圖 對(duì)象的生命周期 與根本類型的生命周期一樣對(duì)象的比較 “=運(yùn)算符與equals()方法的區(qū)別怎樣比較兩個(gè)數(shù)組對(duì)象的內(nèi)容能否相等 Practice 6比較兩個(gè)數(shù)組能否相等1. 聲明兩個(gè)數(shù)組,并使他們各個(gè)元素一樣2. 調(diào)用Arrays.equals(a1, a2)方法3. 打印出結(jié)果值實(shí)現(xiàn)類的封裝性 假設(shè)外面的程序可以隨意修正一個(gè)類的成員變量,會(huì)呵斥不可預(yù)料的程序錯(cuò)誤,就象一個(gè)人的身高,不能被外部隨意修正,只能經(jīng)過各種攝取營養(yǎng)的方法去修正這個(gè)屬性。 在定義一個(gè)類的成員包括變

15、量和方法時(shí),運(yùn)用private關(guān)鍵字闡明這個(gè)成員的訪問權(quán)限,這個(gè)成員成了類的私有成員,只能被這個(gè)類的其他成員方法調(diào)用,而不能被其他的類中的方法所調(diào)用。 實(shí)現(xiàn)類的封裝性 為了實(shí)現(xiàn)良好的封裝性,我們通常將類的成員變量聲明為private,再經(jīng)過public的方法來對(duì)這個(gè)變量進(jìn)展訪問。對(duì)一個(gè)變量的操作,普通都有讀取和賦值操作,我們分別定義兩個(gè)方法來實(shí)現(xiàn)這兩種操作,一個(gè)是getXxx()Xxx表示要訪問的成員變量的名字,用來讀取這個(gè)成員變量操作,另外一個(gè)是setXxx()用來對(duì)這個(gè)成員變量賦值。一個(gè)類通常就是一個(gè)小的模塊,我們應(yīng)該讓模塊僅僅公開必需求讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。我們?cè)谶M(jìn)展程序

16、的詳細(xì)設(shè)計(jì)時(shí),應(yīng)盡量防止一個(gè)模塊直接修正或操作另一個(gè)模塊的數(shù)據(jù),模塊設(shè)計(jì)追求強(qiáng)內(nèi)聚許多功能盡量在類的內(nèi)部獨(dú)立完成,不讓外面干涉,弱耦合提供應(yīng)外部盡量少的方法調(diào)用。用總統(tǒng)指揮一支軍隊(duì)的例子來闡明這種效果。 類的封裝所帶來的優(yōu)點(diǎn) 隱藏類的實(shí)現(xiàn)細(xì)節(jié);讓運(yùn)用者只能經(jīng)過事先定制好的方法來訪問數(shù)據(jù),可以方便地參與控制邏輯,限制對(duì)屬性的不合理操作;便于修正,加強(qiáng)代碼的可維護(hù)性;下一章節(jié)構(gòu)造函數(shù)構(gòu)造函數(shù)的定義與作用 構(gòu)造方法的特征它具有與類一樣的稱號(hào);它不含前往值;它不能在方法中用return語句前往一個(gè)值留意:在構(gòu)造方法里不含前往值的概念是不同于“void的,在定義構(gòu)造方法時(shí)加了“void,結(jié)果這個(gè)方法就不

17、再被自動(dòng)調(diào)用了。構(gòu)造方法的作用:當(dāng)一個(gè)類的實(shí)例對(duì)象剛產(chǎn)生時(shí),這個(gè)類的構(gòu)造方法就會(huì)被自動(dòng)調(diào)用,我們可以在這個(gè)方法中參與要完成初始化任務(wù)的代碼。這就好似我們規(guī)定每個(gè)“人一出生就必需先洗澡,我們就可以在“人的構(gòu)造方法中參與完成“洗澡的程序代碼,于是每個(gè)“人一出生就會(huì)自動(dòng)完成“洗澡,程序就不用再在每個(gè)人剛出生時(shí)一個(gè)一個(gè)地通知他們要“洗澡了。 構(gòu)造方法的重載 和普通的方法重載一樣,重載的構(gòu)造方法具有不同個(gè)數(shù)或不同類型的參數(shù),編譯器就可以根據(jù)這一點(diǎn)判別出用new 關(guān)鍵字產(chǎn)生對(duì)象時(shí),該調(diào)用哪個(gè)構(gòu)造方法了。產(chǎn)生對(duì)象的格式是:new 類名(參數(shù)列表) ;重載構(gòu)造方法可以完成不同初始化的操作, 如:p3=new

18、Person(“Tom,18);語句,會(huì)做這樣幾件事:創(chuàng)建指定類的新實(shí)例對(duì)象,在堆內(nèi)存中為實(shí)例對(duì)象分配內(nèi)存空間,并調(diào)用指定類的構(gòu)造方法,最后將實(shí)例對(duì)象的首地址賦值給援用變量p3。 構(gòu)造方法的一些細(xì)節(jié) 在java每個(gè)類里都至少有一個(gè)構(gòu)造方法,假設(shè)程序員沒有在一個(gè)類里定義構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類產(chǎn)生一個(gè)默許的構(gòu)造方法,這個(gè)默許構(gòu)造方法沒有參數(shù),在其方法體中也沒有任何代碼,即什么也不做。 由于系統(tǒng)提供的默許構(gòu)造方法往往不能滿足編程者的需求,我們可以本人定義類的構(gòu)造方法,來滿足我們的需求,一旦編程者為該類定義了構(gòu)造方法,系統(tǒng)就不再提供默許的構(gòu)造方法了。 聲明構(gòu)造方法,如無特殊需求,應(yīng)運(yùn)用publi

19、c關(guān)鍵字,在我們前面例子中,可以運(yùn)用private訪問修飾符嗎? this是什么? 假設(shè)func2方法被調(diào)用 ,一定是事先曾經(jīng)有了一個(gè)存在的對(duì)象,func2被作為那個(gè)對(duì)象的方法被運(yùn)用。 在func2內(nèi)部能援用別的對(duì)象 ,同樣也能援用func2所屬的那個(gè)對(duì)象。在func2中,本人所屬的那個(gè)對(duì)象的援用稱號(hào)是什么呢? this關(guān)鍵字在java程序里的作用和它的詞義很接近,它在函數(shù)內(nèi)部就是這個(gè)函數(shù)所屬的對(duì)象的援用變量。 this援用句柄的存放位置每個(gè)成員方法內(nèi)部,都有一個(gè)this援用變量,指向調(diào)用這個(gè)方法的對(duì)象,類中的成員方法與this之間的關(guān)系如圖this援用句柄的運(yùn)用一個(gè)類中的成員方法可以直接調(diào)用

20、同類中的其他成員,其實(shí)我們?cè)谝粋€(gè)方法內(nèi)部運(yùn)用“this.其他成員的援用方式和直接運(yùn)用“其他成員的效果是一樣的,那this還有多大的作用呢?在有些情況下,我們還是非得用this關(guān)鍵字不可的 :讓類的成員變量名和對(duì)其進(jìn)展賦值的成員方法的形參變量同名是必要的,這樣的代碼誰看了都能明白這兩個(gè)變量是彼此相關(guān)的,老手看到函數(shù)的定義,就能揣摩出函數(shù)中的代碼,大大節(jié)省了他人和本人日后閱讀程序的時(shí)間。 假設(shè)我們有一個(gè)容器類和一個(gè)部件類,在容器類的某個(gè)方法中要?jiǎng)?chuàng)建部件類的實(shí)例對(duì)象,而部件類的構(gòu)造方法要接納一個(gè)代表其所在容器的參數(shù)。構(gòu)造方法是在產(chǎn)生對(duì)象時(shí)被java系統(tǒng)自動(dòng)調(diào)用的,我們不能在程序中象調(diào)用其他方法一樣去

21、調(diào)用構(gòu)造方法。但我們可以在一個(gè)構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法,不是用構(gòu)造方法名,而是用this(參數(shù)列表)的方式,根據(jù)其中的參數(shù)列表,選擇相應(yīng)的構(gòu)造方法。 Practice 7創(chuàng)建一個(gè)類Cla給出三個(gè)成員變量int a, b, c運(yùn)用兩個(gè)構(gòu)造函數(shù)public Cla() public Cla(int a, int b, int c)運(yùn)用this句柄在構(gòu)造函數(shù)中給變量賦值在主函數(shù)中分別運(yùn)用兩個(gè)構(gòu)造函數(shù)創(chuàng)建兩個(gè)對(duì)象下一章節(jié)承繼面向?qū)ο蟮母拍钭宇愖宇愂亲鳛榱硪粋€(gè)類的擴(kuò)展或修正而定義的一個(gè)類。bicycle(super class)Mountain bikesRacing bikesTandem b

22、ikessub class面向?qū)ο蟮母拍畛欣^承繼使得子類可以利用父類中定義的方法和變量,就像它們屬于子類本身一樣。class Employee protected String name; public void showInfo() System.out.println(name); class Manager extends Employee private String department; public void showInfo() System.out.println(name); System.out.println(“Manager of + department); 承繼承

23、繼性是面向?qū)ο蟪绦蛟O(shè)計(jì)言語的一個(gè)根本特征,經(jīng)過承繼可以實(shí)現(xiàn)代碼的復(fù)用。承繼而得到的類為子類,被承繼的類為父類,父類包括一切直接或間接被承繼的類。Java中不支持多重承繼。經(jīng)過在類的聲明中參與extends子句來創(chuàng)建一個(gè)類的子類:class SubClass extends SuperClass 假設(shè)省略extends子句,那么該類為Object的子類。子類可以承繼父類中訪問權(quán)限設(shè)定為public、protected和default的成員變量和方法,但是不能承繼訪問權(quán)限為private的成員變量和方法。承繼的例子調(diào)用父類構(gòu)造函數(shù)super(x,);調(diào)用父類構(gòu)造函數(shù)時(shí)應(yīng)遵照的原那么:只能在子類中調(diào)

24、用父類的構(gòu)造函數(shù).調(diào)用父類構(gòu)造函數(shù)時(shí),必需運(yùn)用super()不要在父類構(gòu)造函數(shù)前放任何子類構(gòu)造函數(shù)代碼。假設(shè)子類中沒有調(diào)用父類構(gòu)造,會(huì)默許調(diào)用無參數(shù)的super()類方法的覆蓋方法覆蓋即指在子類中重新實(shí)現(xiàn)父類中已有的方法。Java運(yùn)轉(zhuǎn)時(shí)系統(tǒng)根據(jù)調(diào)用該方法的實(shí)例的類型來決議調(diào)用哪個(gè)實(shí)現(xiàn)。方法覆蓋時(shí)應(yīng)遵照的原那么:覆蓋后的方法不能比被覆蓋的方法有更嚴(yán)厲的訪問前提條件。面向?qū)ο蟮母拍罡采w覆蓋使得在子類中可以重新定義父類中已有的方法,從而是子類具有本人的行為。class Employee protected String name; public void showInfo() System.out.

25、println(name); class Manager extends Employee private String department; public void showInfo() System.out.println(name); System.out.println(“Manager of + department); Practice 8有一個(gè)父類Car,內(nèi)有屬性:int maxSpeed方法:void stop();有兩個(gè)子類BMW, QQ承繼父類請(qǐng)調(diào)用父類構(gòu)造方法,初始化賦值maxSpeed請(qǐng)重寫stop()方法,要求BMW當(dāng)maxSpeed = 300; 打印語句“停車Q

26、Q當(dāng)maxSpeed = 120; 打印語句“停車3. 接口“對(duì)實(shí)現(xiàn)我的類,看起來都應(yīng)該是我的樣子接口規(guī)定了一個(gè)類的根本方式:自變量,方法名,前往類型.但不規(guī)定方法的主體.接口的數(shù)據(jù)類型:都默以為static,final只是一種方式,不涉及細(xì)節(jié)3. 接口定義的方式public interface interfaceName extends SuperInterfaceList/常量定義和方法定義接口interface作為特殊方式的籠統(tǒng)類,和類class在運(yùn)用上具有類似的約束。一個(gè)public接口只能定義在同名的.java文件中3. 類對(duì)接口的實(shí)現(xiàn)用implements子句來表示一個(gè)類實(shí)現(xiàn)某個(gè)接口。在類體中可以運(yùn)用接口中定義的常量,而且必需實(shí)現(xiàn)接口中定義的一切方法。利用接口可實(shí)現(xiàn)多重 承繼,即一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,在im

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論