- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
物件导向技术导论
第2章 物件導向技術導論 2-1 程式設計方法 2-2 抽象資料型態 2-3 物件導向的思維 2-4 物件導向技術的三大觀念 2-5 物件導向程式語言 2-1 程式設計方法 2-1-1 非結構化程式設計 2-1-2 程序式與結構化程式設計 2-1-3 模組化程式設計 2-1-4 物件導向程式設計 2-1 程式設計方法-說明 一般來說,初學程式設計者在逐漸建立深厚的程式設計功力前,學習程式設計通常都會經歷數個學習過程,即四種「程式設計技術」(Programming Techniques),或稱為「程式設計風格」(Programming Styles),如下所示: 非結構化程式設計(Unstructured Programming)。 程序式程式設計(Procedural Programming)與結構化程式設計(Structured Programming)。 模組化程式設計(Modular Programming)。 物件導向程式設計(Object-Oriented Programming)。 2-1-1 非結構化程式設計 早期BASIC、機器語言或組合語言建立的程式,很多仍然是使用非結構化程式設計來建立程式碼。 對於C、C++或Java語言來說,所謂非結構化程式設計是指初學程式設計時,不論幾列的小程式或數百列程式碼的大程式,都只有一個main()主程式且不包含任何流程控制敘述的情況。非結構化程式設計的程式碼是使用線性方式來依序的執行,如右圖所示: 2-1-2 程序式與結構化程式設計 程序式程式設計是將程式中重複的程式片斷抽出成為程序(Procedures,或稱為Subroutine、Routine)或函數(Functions),也就是一段執行特定功能的程式區塊。 程式因為已經分割成程序,所以在main()主程式的程式碼只是依序呼叫不同程序或函數的程序呼叫(Procedure Call)。程式是使用流程控制連接程序,即目前程式設計最常使用的結構化程式設計,屬於程序式程式設計的子集,如右圖所示: 2-1-3 模組化程式設計 模組化程式設計是程序式程式設計的下一個階段,為了能夠重複使用程序式程式設計分割建立的程序,我們可以將相同功能的程序或函數結合在一起建立成獨立的「模組」(Modules),模組是處理指定功能的子程式,如下圖所示: 2-1-4 物件導向程式設計 模組化程式設計是物件導向程式設計的前身,只是沒有提供繼承和多形等物件導向觀念。物件導向程式設計是一種更符合人性化的程式設計方法,將原來專注於問題的分解,轉換成了解問題本質參與的東西,也就是「物件」(Object),如下圖所示: 2-2 抽象資料型態 2-2-1 程序或函數抽象化 2-2-2 資料抽象化 2-2-3 抽象資料型態 2-2-4 抽象資料型態與物件導向 2-2 抽象資料型態 物件導向程式設計的精神是資料抽象化,透過抽象資料型態建立電腦與真實世界之間的橋樑,描述和模擬真實世界的實體,即東西,簡單的說,物件導向程式設計就是一種抽象資料型態的程式設計。 「抽象化」(Abstraction)的主要目的是定義問題的二個屬性,如下所示: 資料(Data):問題影響的資料。 操作(Operators):問題產生的操作。 2-2-1 程序或函數抽象化-由上而下的設計方法 程序或函數抽象化(Procedure Abstraction or Function Abstraction)主要是針對傳統由上而下的設計方法,將問題分割成一個個子工作。 由上而下的設計方法(Top-down Design)是以程序為單位來切割工作,也就是所謂的「程序式程式設計」(Procedural Design)。 由上而下的設計方法是一種循序漸進了解問題的方法。筆者準備使用一個實例來說明分割工作的過程。 2-2-1 程序或函數抽象化-範例 例如:目前有一個工作是繪出房屋的圖形,房屋圖形的繪圖工作不是一筆畫就可以完成,所以,我們可以分割成多個小工作來分別處理,以由上而下的設計方法來了解整個繪圖工作的問題。 2-2-1 程序或函數抽象化-步驟一 從房屋繪圖工作可以粗分為三個小工作,如下所示: 繪出屋頂和外框。 繪出窗戶。 繪出門。 依據上述工作分割,可以建立各分割小工作之間的模組架構,如下圖所示: 2-2-1 程序或函數抽象化-步驟二 將第一個小工作【繪出屋頂和外框】(Draw Outline)再次進行分割成二個小工作,如下所示: 繪出屋頂。 繪出房屋的外框。 2-2-1 程序或函數抽象化-其他步驟 現在,我們只需重複上述分析,一步一步向下進行分割工作,例如:因為窗戶有2個,所以【繪出窗戶】可以分為【繪出窗戶1】和【繪出窗戶2】;【繪出門】可以分為【繪出門框】和【繪出門把】。 最後,將問題分割成
您可能关注的文档
最近下载
- 《语文(基础模块)下册》(中职)教案 第24课 跨媒介阅读与交流(二).pdf VIP
- 《磨床安全操作规程》.docx VIP
- 青2013G02图集-标准图集.docx VIP
- 第36届全国中学生物理竞赛决赛理论考试试题与解答.pdf VIP
- DB45_T1900-2018_芒果成龄果树管理技术规程_广西壮族自治区 conv.docx VIP
- 软件测试-全套PPT课件.pptx
- 类风湿关节炎情景模拟教学案例范文.docx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 化学核心素养引领单元主题学习之初探.docx VIP
- 钻床安全操作规程[共1页].doc VIP
文档评论(0)