




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Project3OverwritetheMemberAdministrationSystemwiththePHPFrameworkLaravelTask1IntroductiontoObject-OrientedProgrammingSchoolofSoftware,ChengduPolytechnicLecturer:MuQichunIntroductiontoObject-OrientedProgrammingTheso-called"ProcedureOriented"or"PO"referstothatinordertoaccomplishonething,weneedtodivideitintoseveralstepsandperformtheminsequence.Inprogramming,itmeanstodividetheprojectrequirementsintoindividualmethodsandindividualdata,executetheminspecificordertofinallygetthetaskdone.Theso-called"ObjectOriented"or"OO"meansthatbeforewecouldcompleteatask,wecouldabstractconceptsofobjectfromthematter,addsomeattributesandmethodstotheobjectsandfinallyleteachobjectexecutetheirownmethods.Wehavefinishedtwoprojectsbefore.Weappliedtheprocedure-orientedprogrammingmethodologytowritetheprograms.Aswearewritingaprogram,thereisanothertypicalmethodologywecanapply,whichisobject-orientedprogramming.IntroductiontoObject-OrientedProgrammingLet'strytounderstandthetwodifferentprogrammingmethodologiesthroughanexample.Forinstance,ifwewanttodothelaundryusingawashingmachine,incaseofprocedure-orientedmethodology,wecangetitdoneinfollowingway:Putinclothes(method)>>>Pourinlaundrydetergent(method)>>>Addwater(method)>>>Wash(method)>>>Dry(method)Butifweapplytheobject-orientedmethodology,wecouldgetthelaundrydoneasfollows:First,abstracttwoobjects,"human"and"washingmachine."Next,addattributesandmethodstoobject"human",including"puttinginclothes"(method),"pouringinlaundrydetergent"(method)and"addingwater"(method).Addattributesandmethodstoobject"washingmachine",including"washing"(method)and"drying"(method).IntroductiontoObject-OrientedProgrammingNowwiththeobjects,attributesandmethods,wecaninvokerelevantcontentsandgetthetaskdone.Next,invokeinturn:Human.Puttinginclothes(method)>>>Human.Pouringinlaundrydetergent(method)>>>Human.Addingwater(method)>>>WashingMachine.Washing(method)>>>WashingMachine.Drying(method).IntroductiontoObject-OrientedProgrammingWecouldseethatwecanfavorablyfinishthetaskinbothways.Butwhatadvantagesanddisadvantagesdothetwomethodologiespossessrespectively?1Procedure-orientedprogrammingAdvantagesHighefficiency;intelligible;comprisedofenforceable,separatesteps;succinct.DisadvantagesHighdegreeofcoupling;poorextensibility;difficulttomaintain.2Object-orientedprogrammingAdvantagesLowdegreeofcoupling,easytobeusedrepeatedly;highextensibility;maintanence-friendly.Inaddition,object-orientedprogrammingalsohascharacteristicssuchasencapsulation,inheritanceandpolymorphismwhichenablingdesigningofsystemswithlowdegreeofcoupling,thusmakingthemmoreflexibleandeasiertomaintain.DisadvantagesLowerefficientcomparedwithprocedure-orientedprogramming.IntroductiontoObject-OrientedProgrammingGenerally,wecanapplytheprocedure-orientedprogrammingmethodologyforsomesimpleprojects.Butifwearedesigningcomplex,large-scalesystem,itissuggestedthatobject-orientedprogrammingmethodologyshouldbeapplied.ThreeCharacteristicsofObject-OrientedProgramming:EncapsulationNextlet'stakealookthethreecharacteristicsofobject-orientedprogramming:EncapsulationInheritancePolymorphism1EncapsulationTheso-calledencapsulationmeanstoencapsulateanobjectivematterinanabstractiveclass,andthenencapsulateitsattributesandmethods,definingthemonlyavailablewithintheclass.Andadditionalauthorizationwouldberequiredifexternalclassesormethodstrytoaccessattributesandmethodsencapsulatedwithinaclass.PHPprovidesthreeaccessmodifiers.Public:represents"global"and"shared",accessiblewithin,outsideaclassandinasubclass.Protected:represents"underprotection",onlyaccessibleinitsclassandthesubclass.Private:represents"private",accessibleonlywithinitsclass,neitheroutsidetheclassnorinthesubclass.Nextlet'slookatanexampleshowingtheencapsulationcharacteristicofobject-orientedmethodology.ThreeCharacteristicsofObject-OrientedProgramming:EncapsulationByrunningaboveprogram,wecannowunderstandtheencapsulationcharacteristicofobject-orientedprogramming.ThreeCharacteristicsofObject-OrientedProgramming:Inheritance2InheritanceTheso-calledinheritancereferstothatanewclassisallowedtobeproducedbyinheritingsomeorallofthecharacteristicsofanoriginalclass.Theoriginalclassiscalledparentclass,andthenewclassiscalledsubclass.Thesubclasscannotonlydirectlyinheritcommoncharacteristicsfromtheparentclass,butalsocreateitsownspecialcharacteristics.Wecantrytounderstandtheinheritancecharacteristicofobject-orientedprogrammingbyfollowingexample.ThreeCharacteristicsofObject-OrientedProgramming:Polymorphism3PolymorphismTheso-calledpolymorphismreferstothatanobjectcanoccurindifferentformsindifferentsituations(instantiated).Inotherwords,amethodinaparentclasscanbeoverwrittenandrewritteninitssubclasstofulfillotherdifferentrequirements.Theinstancebelowwillexplainthepolymorphismcharacteristicofobject-orientedprogramming.Wecouldseethatthereisamethodas"run"intheparentclass"bus."Thesubclass"car"hasinheritedfrom"bus",andthemethod"run"intheparentclassisoverwrittenandrewrittenini
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國CDMA無線接入平臺數據監測報告
- 2025年中國3,5-雙三氟甲基苯胺數據監測報告
- 2025至2030年中國非金屬工藝品激光雕刻切割機市場分析及競爭策略研究報告
- 2025至2030年中國鋁輪帽市場分析及競爭策略研究報告
- 2025至2030年中國連續鍛造加熱爐市場分析及競爭策略研究報告
- 2025至2030年中國草莓果苗市場分析及競爭策略研究報告
- 2025至2030年中國維綸子口布市場分析及競爭策略研究報告
- 2025至2030年中國電動車組裝線市場分析及競爭策略研究報告
- 2025至2030年中國灌裝機回氣針市場分析及競爭策略研究報告
- 2025至2030年中國汽車吊液壓零部件市場分析及競爭策略研究報告
- 曲霉菌感染學習課件
- “微”力量微博營銷
- 2022-2023學年山東省菏澤市成武縣人教版四年級下冊期末考試數學試卷(解析版)
- 數據統計與分析教學大綱
- 2023建筑業10項新技術
- 預防醫學英文版課件:Occupational hazards injury
- 無人船自主航行設計方案
- 承包商施工安全技術交底
- NBT10497-2021 水電工程水庫塌岸與滑坡治理技術規程
- 貴州黔紫萊環保材料有限公司脫硫石膏綜合利用項目環評報告
- 陜西省銅川市初中語文八年級期末高分試卷詳細答案和解析
評論
0/150
提交評論