![Java程序設計教程(第三版)課件 項目五 類的繼承與多態(tài)(2.0)_第1頁](http://file4.renrendoc.com/view12/M06/1D/1E/wKhkGWddg_-AbrRfAADkoOGOjm8458.jpg)
![Java程序設計教程(第三版)課件 項目五 類的繼承與多態(tài)(2.0)_第2頁](http://file4.renrendoc.com/view12/M06/1D/1E/wKhkGWddg_-AbrRfAADkoOGOjm84582.jpg)
![Java程序設計教程(第三版)課件 項目五 類的繼承與多態(tài)(2.0)_第3頁](http://file4.renrendoc.com/view12/M06/1D/1E/wKhkGWddg_-AbrRfAADkoOGOjm84583.jpg)
![Java程序設計教程(第三版)課件 項目五 類的繼承與多態(tài)(2.0)_第4頁](http://file4.renrendoc.com/view12/M06/1D/1E/wKhkGWddg_-AbrRfAADkoOGOjm84584.jpg)
![Java程序設計教程(第三版)課件 項目五 類的繼承與多態(tài)(2.0)_第5頁](http://file4.renrendoc.com/view12/M06/1D/1E/wKhkGWddg_-AbrRfAADkoOGOjm84585.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
項目五類的繼承與多態(tài)
相關詞匯:extends:繼承2.baseclass:基類derivedclass
:派生類4.polymorphism:多態(tài)override:重寫、覆寫6.overload:重載7.upcasting:向上轉(zhuǎn)型8.downcasting:向下轉(zhuǎn)型復習:1、封裝的兩層含義:第一層是將類的屬性和行為封裝在一個類中,對類外而言,無需了解類內(nèi)部的實現(xiàn)細節(jié)。第二層含義是將類的屬性的訪問權限用關鍵字private去修飾。用private修飾的屬性只能在本類中訪問,類以外是無法直接訪問的,但可以通過類的公有方法去訪問。2.封裝的目的封裝的目的就是保護內(nèi)容,保證某些屬性或方法不被外部看見。3.封裝的實現(xiàn)使用私有訪問權限:private。
private修飾符定義的成員變量或成員方法,只能在聲明它們的類中訪問,不能在其他類中訪問?!卷椖棵枋觥款惖姆庋b、繼承與多態(tài)是面向?qū)ο蟮娜筇卣?。類的封裝我們前面已經(jīng)介紹了,本項目是通過Person類及其子類的創(chuàng)建,介紹了類的繼承及多態(tài)的使用。
【任務分解】
本項目可分解為以下四個任務:1.類的繼承。2.進一步學習繼承。3.類的多態(tài)。4.進一步學習多態(tài)。任務一類的繼承
【任務描述】
任務5-1:定義一個父類Person,包含的屬性有“id和“姓名”。有說話方法,用于輸出id和姓名信息;定義Person類的兩個子類Teacher類和Student類,在兩個子類中有一個introduction方法,介紹自己是教師還是學生,并輸出自己的id和姓名。跳至解題思路【必備知識】1.繼承的概念
繼承是指由現(xiàn)成的類產(chǎn)生新的類。被繼承的現(xiàn)成類稱為父類或超類,新產(chǎn)生的類稱為子類或派生類。通過繼承機制,子類繼承了父類的成員屬性和成員方法,并且可以定義自己新的成員屬性和方法,也可以對父類的成員變量或方法進行修改,使類的功能得以擴充。
2.繼承的作用
什么時候需要使用繼承呢?當兩個類擁有相同的方法或?qū)傩?,即兩個類存在重復代碼,此時代碼設計要遵循“一次編寫,僅編寫一次”的原則。使用繼承可以解決代碼重復的問題。示例1:創(chuàng)建一個Teacher類,具有id、姓名屬性。具有說話方法;創(chuàng)建一個Student類,具有id、姓名屬性。具有說話方法。classTeacher{ privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性publicTeacher(Stringid,Stringname){//構造方法,對各屬性賦初值this.id=id; =name; }
publicvoidsay(){//定義say()方法,輸出信息
System.out.println("大家好!我是一名教師。"); System.out.println("Id:"+id+",姓名:"+name); }}
classStudent{ privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性 /**構造方法,對各屬性賦初值*/publicStudent(Stringid,Stringname){this.id=id; =name; }
publicvoidsay(){//定義say()方法,輸出信息System.out.println("大家好!我是一名學生。");System.out.println("Id:"+id+",姓名:"+name); }}3.繼承的實現(xiàn)在Java中類的繼承格式以下:[格式5-1類的繼承格式]class父類{…}//定義父類class子類extends父類{…}//用extends關鍵字實現(xiàn)類的繼承示例2:創(chuàng)建一個Person類,具有id、姓名屬性,具有說話方法。分別創(chuàng)建繼承于Person類的子類Teacher類和Student類,在兩個子類中什么代碼也不寫,觀察代碼運行結(jié)果。下面,對示例1進行整改,即為Teacher類和Student類抽象出一個父類Person,在Person類中實現(xiàn)Teacher類和Student類的共同屬性和方法。Teacher類和Student類在繼承Person類的基礎上,增加自己的屬性和方法,完成類的設計。packagecom;classPerson{ privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性
publicStringgetId(){ returnid; } publicvoidsetId(Stringid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; }
publicvoidsay(){//定義say()方法,輸出信息 System.out.println("Id:"+id+",姓名:"+name); }}classTeacherextendsPerson{//Teacher類繼承Person類
}
classStudentextendsPerson{
}
publicclassExample5_2{ publicstaticvoidmain(Stringargs[]){ Teacherteacher=newTeacher(); teacher.setId("116"); teacher.setName("林小蕾"); teacher.say(); Studentstu=newStudent(); stu.setId("301"); stu.setName("張俊"); stu.say(); }}示例3:創(chuàng)建一個Person類,具有id、姓名屬性,具有說話方法。分別創(chuàng)建繼承于Person類的子類Teacher類和Student類,在子類中分別定義一個自我介紹的方法,方法輸出自己的身份和基本信息。classPerson{ privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性 publicPerson(Stringid,Stringname){//構造方法,對各屬性賦初值 this.id=id; =name; } publicvoidsay(){//定義say()方法,輸出信息 System.out.println("Id:"+id+",姓名:"+name); }}classTeacherextendsPerson{//Teacher類繼承Person類publicTeacher(Stringid,Stringname){ super(id,name);//調(diào)用父類的構造方法 } publicvoidintroduction(){ System.out.println("大家好!我是一名教師。"); super.say();//調(diào)用父類的say方法,輸出基本信息 }}classStudentextendsPerson{ publicStudent(Stringid,Stringname){ super(id,name);//調(diào)用父類的構造方法 }
publicvoidintroduction(){ System.out.println("大家好!我是一名學生。"); super.say();//調(diào)用父類的say方法,輸出基本信息 }}【解題思路】
任務5-1:1.定義一個父類Person類,定義id和姓名屬性,定義帶參構造方法以及說話的方法。說話方法用于輸出兩個子類共同的屬性。2.分別定義兩個子類Teacher類和Student類,添加帶參構造方法。在子類的方法體中調(diào)用父類的方法。若要調(diào)用父類的構造方法,可在子類的構造方法中使用super(參數(shù)列表)調(diào)用父類的構造方法。3.聲明一個測試類,利用帶參構造方法分別實例化一個Teacher類和Student類對象。分別調(diào)用父類的方法,輸出對象的信息。重溫任務描述示例分析:本示例先定義一個父類Person,在Person類中定義了“id”和“name”屬性,還定義了一個帶參構造方法Person(Stringid,Stringname),其作用是為屬性賦初值,另外還定義了一個say()方法,用于輸出“id”和“name”信息。接著,定義了繼承于Person類的兩個子類——Teacher類和Student類。子類自動繼承父類Person的屬性和方法(不繼承父類的構造方法)。在子類中定義introduction()方法,此方法有兩條語句,第一條語句是介紹自己的特性,第二條語句是通過調(diào)用了父類的say()方法輸出共性的東西。從本示例可知,子類繼承父類,可以擴展已有類的功能。【任務透析】packagecom;classPerson{ privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性 publicPerson(Stringid,Stringname){//構造方法,對各屬性賦初值 this.id=id; =name; }
publicvoidsay(){//定義say()方法,輸出信息 System.out.println("Id:"+id+",姓名:"+name); }}
classTeacherextendsPerson{//Teacher類繼承Person類 publicTeacher(Stringid,Stringname){ super(id,name);//調(diào)用父類的構造方法 }· publicvoidintroduction(){ System.out.println("大家好!我是一名教師。"); super.say();//調(diào)用父類的say方法 }}classStudentextendsPerson{ publicStudent(Stringid,Stringname){ super(id,name);//調(diào)用父類的構造方法 }
publicvoidintroduction(){ System.out.println("大家好!我是一名學生。"); super.say();//調(diào)用父類的say方法 }}
publicclassExtDemo5_1Test{ publicstaticvoidmain(Stringargs[]){ Teacherteacher=newTeacher("116","林小蕾"); Studentstu=newStudent("301","張俊"); roduction(); roduction(); }}【課堂提問】☆.什么時候需要使用繼承?☆.如何實現(xiàn)繼承?☆.this和super關鍵字的作用是什么?
【現(xiàn)場演練】模仿任務5-1:設計一個類Book,有屬性bookName,bookPrice,author(作者),number(訂購數(shù)目),有方法getBookInfo(),獲取書的各種信息。寫類XiaoShuo(小說)繼承Book,有屬性renWu(人物),有方法getBookKind()方法,在該方法中打印出所屬類別,并調(diào)用父類的getBookInfo()方法用于輸出小說的各種信息。寫類JiaoCai(教材)繼承Book,有屬性keMu(科目),有方法getBookKind()方法,在該方法中打印出所屬類別,并調(diào)用父類的getBookInfo()方法用于輸出教材的各種信息?!局R鏈接】this關鍵字的作用1.使用this引用當前對象的成員屬性。this.成員屬性2.強調(diào)是本類的成員方法。this.成員方法名(參數(shù)表)3.this關鍵字強調(diào)是當前對象。
super關鍵字的作用1.在子類中通過super訪問父類成員屬性。super.成員變量名2.調(diào)用父類成員方法super.成員方法名(參數(shù)表)3.利用super(),調(diào)用父類中的構造方法。super(參數(shù)表)
☆Object類在Java中,定義有一種特殊的類Object,其他所有的類都是Object的子類。也就是說,Object是所有對象引用繼承層次結(jié)構的根。☆Java只支持單繼承Java只支持單繼承,不能使用多重繼承,即一個類只能繼承另一個類,不充許一個類同時繼承兩個或以上的類。但是,Java充許多層繼承,即一個類可以繼承某一個類的子類。如:classX{}classY{}classZextendsX,Y{}以上代碼是錯誤的,即Z類不能同時繼承于X和Y類。正確的代碼如下所示:classX{}classYextendsX{}classZextendsY{}即Y繼承X,Z繼承Y。任務二
進一步學習繼承
【任務描述】
任務5-2:為子類Teacher添加一個無參構造方法,并在父類Person中也添加一個無參的構造方法。在各自的構造方法中輸出一句提示,觀察父類和子類構造方法的調(diào)用關系及順序。并為父類Person的每一個屬性添加一個setter()和getter()方法,調(diào)用setter()和getter()方法為子類的實例對象賦值。跳至解題思路【必備知識】1.子類實例化過程
子類對象在實例化時是先調(diào)用父類中的構造方法,然后再調(diào)用子類自己的構造方法。
2.使用setter和getter方法訪問父類的私有屬性
當父類中的成員屬性是用關鍵字private修飾時,其子類是不能直接訪問這些屬性的。在任務一中,我們是通過調(diào)用父類的帶參構造方法來給這些屬性賦值班的。除了可使用帶參的構造方法給屬性設置初值外,子類的實例對象還可以通過setter()和getter()方法來訪問父類中的私有屬性。示例4:為子類Teacher添加一個無參構造方法,并在父類Person中也添加一個無參的構造方法。在各自的構造方法中輸出一句提示,觀察父類和子類構造方法的調(diào)用關系及順序。classPerson{//定義一個父類Person privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性
publicPerson(){ super();//此處的super指的是所有類的父類,最頂層的Object System.out.println("你好,我是父類Teacher的無參構造方法!!!!"); }}classTeacherextendsPerson{//定義一個子類Teacher,繼承于類Person publicTeacher(){ super();//此處super關鍵字的作用是調(diào)用父類Person的無參構造方法 System.out.println("你好,我是子類Teacher的無參構造方法!"); }}publicclassExample5_4{ publicstaticvoidmain(String[]args){ Teachert=newTeacher(); }}從本例運行結(jié)果可知,雖然實例化的是子類對象,但事實上,在實例化子類對象時是先調(diào)用父類中的構造方法的,然后再調(diào)用子類自己的構造方法。【解題思路】
任務5-2:1.在子類Teacher中添加一個無參構造方法,并在該構造方法中輸出一句提示“你好,我是子類Teacher的無參構造方法”。2.在父類Person中添加一個無參構造方法,并在該構造方法中輸出一句提示“你好,我是父類Person的無參構造方法”。3.在父類Person中為屬性id和name添加一對setter()和getter()方法。4.聲明一個測試類,利用無參構造方法實例化一個Teacher子類對象,調(diào)用父類的setter()和getter()方法。觀察程序輸出結(jié)果。重溫任務描述【任務透析】packagecn;classPerson{//定義一個父類Person privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性 publicStringgetId(){ returnid; } publicvoidsetId(Stringid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicPerson(){ super();//此處的super指的是所有類的父類,最頂層的Object System.out.println("你好,我是父類Teacher的無參構造方法!!!!"); }}classTeacherextendsPerson{//定義一個子類Teacher,繼承于類Person
publicTeacher(){ super(); System.out.println("你好,我是子類Teacher的無參構造方法!"); }}
publicclassExtDemo5_2Test{ publicstaticvoidmain(String[]args){ Teachert=newTeacher(); t.setId("2011007"); t.setName("何小倩"); System.out.println("我的Id是:"+t.getId()+"我的名字是:"+t.getName()); }}【課堂提問】☆.什么時候需要使用繼承?☆.如何實現(xiàn)繼承?☆.this和super關鍵字的作用是什么?
【現(xiàn)場演練】模仿任務5-2:在父類Book中添加一個無參的構造方法,為子類類XiaoShuo(小說)添加一個無參構造方法,并在各自的構造方法中輸出一句提示,觀察父類和子類構造方法的調(diào)用關系及順序。并為父類Book的每一個屬性添加一個setter()和getter()方法,調(diào)用setter()和getter()方法為子類的實例對象賦值。任務三
類的多態(tài)
【任務描述】
任務5-3:在任務5-2的基礎上,在父類Person中添加一個run()方法,在子類Teacher中定義和父類相同名字的run()方法。在測試類中,分別生成子類Teacher和父類Person的實例對象,并利用各自的實例對象去調(diào)用同名方法run(),觀察運行結(jié)果。跳至解題思路【必備知識】1.多態(tài)的概念多態(tài)性是面向?qū)ο蟪绦蛟O計的重要特征之一。多態(tài)性是指同一個方法名可以有不同的實現(xiàn)體,即不同的方法體。在Java語言中通過以下兩種方式來實現(xiàn)多態(tài)性:(1)方法重寫(也稱覆寫或覆蓋)。(2)方法重載。
2.多態(tài)的作用多態(tài)是為了實現(xiàn)接口重用,使用對象多態(tài)性,以提高代碼的可維護性和可擴展性。3.多態(tài)的實現(xiàn)(1)方法重寫1)重寫是發(fā)生在繼承關系的兩個類中,當一個類繼承了另一個類,就可以在子類中定義一個與父類中的方法同名的方法,子類中的這個方法就是對父類同名方法的重寫,用以實現(xiàn)父類方法所不能實現(xiàn)的功能。
2)重寫是子類中的方法對父類中已有的方法進行重新定義。3)子類中重寫的方法與父類的方法在返回類型、方法名、參數(shù)列表上必須完全相同。而且在子類中覆寫的方法權限必須大于(或等于)父類中方法的訪問權限。Java中有4種訪問控制權限:public>protected>default(缺省:什么關鍵字都不加)>private4)當以子類的對象調(diào)用與父類同名的方法時,會直接找到子類的方法,而不是父類的同名方法,當發(fā)現(xiàn)子類中不存在這個方法時,才會調(diào)用父類中的同名方法。(2)方法重載
方法重載是發(fā)生在同一個類中,即在同一個類中存在幾個同名方法,方法參數(shù)類型或個數(shù)有所區(qū)別。如果參數(shù)類型和個數(shù)完全一樣,只是方法返回類型不同,不屬于重載。【解題思路】
任務5-3:1.在父類Person中添加一個run(),在該方法中輸出一句提示“我是父類Person的run()方法!”。2.在子類Teacher中定義一個和父類的方法run(),在該方法中輸出一句提示“我是子類Teacher的run()方法!”。3.聲明一個測試類,分別生成子類Teacher和父類Person的實例對象,并利用各自的實例對象去調(diào)用同名方法run(),觀察程序輸出結(jié)果。重溫任務描述【任務透析】packagett;classPerson{//定義一個父類Person privateStringid;//聲明id屬性 privateStringname;//聲明姓名屬性
publicPerson(Stringid,Stringname){ super(); this.id=id; =name; }
publicvoidsay(){ System.out.println("我是父類Person的say()方法,我的Id是:"+id+",我的名字叫:"+name); }
publicvoidrun(){ System.out.println("我是父類Person的run()方法!"); }}classTeacherextendsPerson{//定義一個子類Teacher,繼承于類Person publicTeacher(Stringid,Stringname){ super(id,name); }
publicvoidrun(){ System.out.println("我是子類Teacher的run()方法!\n"); }}
publicclassExtDemo5_3Test{ publicstaticvoidmain(String[]args){ Teachert=newTeacher("2014013","文靜"); t.say();//在父類中定義了say()方法,子類中沒有定義該方法,則子類對象會調(diào)//用父類的該方法。 t.run();//在子類中重寫了父類的同名方法,那么子類對象調(diào)用的是自己的方法。 Personp=newPerson("2002135","雷蕾"); p.run();}}【課堂提問】☆.如何實現(xiàn)多態(tài)?☆.方法重載和方法重寫的主要區(qū)別是什么?
【現(xiàn)場演練】模仿任務5-3:設計一個類Book,有屬性bookName,bookPrice,author(作者),number(訂購數(shù)目),有方法getBookInof(),獲取書的各種信息。寫類XiaoShuo(小說)繼承Book,有屬性renWu(人物)。重寫父類方法getBookInfo(),用來打印出小說的各種信息。寫類JiaoCai(教材)繼承Book,有屬性keMu(科目),重寫抽象方法getBookInfo(),用來打印出教材的各種信息。【知識鏈接】☆final關鍵字的作用1.final關鍵字修飾的類是不同被繼承的。2.final關鍵字修飾的方法是不能被重寫的。3.final關鍵字修飾的量是常量。任務四
進一步學習多態(tài)
【任務描述】任務5-4:在任務5-1教師類和學生類的的基礎上,開發(fā)一個學校人員身份確認類,對各成員的自我介紹內(nèi)容進行確認。同時,增加一個行政人員類型,該類型人員同樣是有一個自我介紹的方法,介紹自己是行政人員,并輸出自身的id和姓名信息。跳至解題思路【必備知識】在講述新的知識點之前,我們先來看兩個示例。示例5:
在示例3基礎上,添加一個學校人員身份確認類,分別對教師和學生的自我介紹內(nèi)容進行確認。示例3回顧:創(chuàng)建一個Person類,具有id、姓名屬性,具有說話方法。分別創(chuàng)建繼承于Person類的子類Teacher類和Student類,在子類中分別定義一個自我介紹的方法,方法輸出自己的身份和基本信息。packagecom;classIdentityConfirm{ publicvoidconfirm(Teachert){//對教師身份進行確認 roduction(); }
publicvoidconfirm(Students){//對學生身份進行確認 roduction(); }}
publicclassExample5_5{ publicstaticvoidmain(Stringargs[]){ Teacherteacher=newTeacher("116","林小蕾"); Studentstu=newStudent("301","張俊"); roduction(); roduction(); }}示例分析:本示例中增加了一個身份確認類IdentityConfirm,在該類中有兩個重載的方法confirm,其作用是通過調(diào)用教師和學生各自的自我介紹內(nèi)容對其身份進行確認,因此兩個confirm方法的形式參數(shù)類型分別是Teacher類和Student類,分別用于接收Teacher類和Student類的實例對象。示例6:在示例5的基礎上,再增加一種行政人員類型,此類型包含的屬性有id和姓名,包含的一個自我介紹方法。packagecom;classAdministrationStaffextendsPerson{//定義Person類的子類AdministrationStaff
publicAdministrationStaff(Stringid,Stringname){ super(id,name);//調(diào)用父類的構造方法 }
publicvoidintroduction(){//重寫父類的introduction()方法 System.out.println("大家好!我是一名行政人員。"); super.say(); }}classIdentityConfirm{ publicvoidconfirm(Teachert){//對教師身份進行確認 roduction(); }
publicvoidconfirm(Students){//對學生身份進行確認 roduction(); }
publicvoidconfirm(AdministrationStaffa){//對行政人員身份進行確認 roduction(); }}
publicclassExample5_6{ publicstaticvoidmain(Stringargs[]){ Teacherteacher=newTeacher("116","林小蕾"); Studentstu=newStudent("301","張俊"); roduction(); roduction(); AdministrationStaffad=newAdministrationStaff("352","劉美美"); roduction(); }}示例分析:由于本示例增加了一個行政人員類型,所以在IdentityConfirm身份確認類中得增加一個confirm(AdministrationStaffa)方法,如果要繼續(xù)增加新的人員類型,那么還得繼承修改IdentityConfirm類,這種需要不斷修改代碼來滿足需求的方式,說明代碼的可維護性和可擴展性極其不好。這時,我們可使用對象的多態(tài)性,以提高代碼的可維護性和可擴展性?!颈貍渲R】1.Java多態(tài)存在的三個必要條件(1)需要有繼承關系的存在(2)需要有方法的重寫(3)需要有父類的引用指向子類對象
2.對象多態(tài)的兩種類型多態(tài)性是面向?qū)ο蟪绦蛟O計的重要特征之一。多態(tài)性是指同一個方法名可以有不同的實現(xiàn)體,即不同的方法體。
3.對象轉(zhuǎn)型格式多態(tài)是為了實現(xiàn)接口重用,使用對象多態(tài)性,以提高代碼的可維護性和可擴展性?!窘忸}思路】任務5-4:1.在子類Teacher類、Student類和AdministrationStaff類中重寫父類Person的say()方法,具有不同的方法體。2.定義一個身份確認類IdentityConfirm,在該類添加一個對說話內(nèi)容進行確認的confirm方法,形參類型是父類Person類型,方法體對say方法進行調(diào)用。此時,所有的子類類型都可以作為參數(shù)傳入。這樣,就不必像示例5那樣需要為每一個子類類型編寫單獨的confirm方法。3.在主方法中,調(diào)用IdentityConfirm類的confirm方法時,可傳入不同的子類對象,Java虛擬機會根據(jù)不同的對象去調(diào)用不同的say()方法。重溫任務描述【任務透析】classPerson{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年春八年級歷史下冊 第11課 城鄉(xiāng)人民生存狀態(tài)的滄桑巨變說課稿1(pdf) 川教版
- Unit 2 Understanding each other Project 說課稿-2023-2024學年高中英語牛津譯林版(2020)選擇性必修第四冊
- Unit 6 Meet my family Part B Let's talk Let's learn大單元整體說課稿表格式-2024-2025學年人教PEP版英語四年級上冊
- 2024年秋七年級生物上冊 3.5.2 綠色植物的呼吸作用說課稿 (新版)新人教版001
- 葡萄園立柱施工方案
- 2023三年級數(shù)學下冊 三 美麗的街景-兩位數(shù)乘兩位數(shù)信息窗1 美麗的街燈第2課時說課稿 青島版六三制
- 預制水泥臨時圍墻施工方案
- 臨時合同范例復制
- 西安電動推拉雨棚施工方案
- 2024秋一年級語文上冊 漢語拼音 11 ie üe er說課稿 新人教版
- 2024美團簡化版商家合作合同標準文本一
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 《休閑食品加工技術》 課件 1 休閑食品生產(chǎn)與職業(yè)生活
- 春季開學安全第一課
- 2025年新生兒黃疸診斷與治療研究進展
- 廣東大灣區(qū)2024-2025學年度高一上學期期末統(tǒng)一測試英語試題(無答案)
- 課題申報書:數(shù)智賦能高職院校思想政治理論課“金課”實踐路徑研究
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
- H3CNE認證考試題庫官網(wǎng)2022版
- 感統(tǒng)訓練培訓手冊(適合3-13歲兒童)
- 公司章程范本(完整版)
評論
0/150
提交評論