




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2024山東專升本計算機-大綱新增知識點
主講人:高老師計算思維(程序設計)考綱要求:(一)掌握計算思維的概念;了解計算思維在社會生活中的應用。(二)了解計算機求解問題的基本方法;掌握利用計算思維解決簡單計算問題的方法。(三)掌握計算機算法的基本知識;了解典型問題求解策略、算法復雜度分析及對應用程序進行時間優化和空間優化的實現方法與思路。(四)掌握計算機程序的基本結構(順序結構、分支結構、循環結構)、程序流程表達與分析方法(程序流程圖、偽代碼等);了解面向對象程序設計的思想與方法。2024山東專升本計算機-大綱新增計算思維目錄一、計算思維概述
二、算法與數據結構三、程序設計語言四、面向對象程序設計計算思維一、計算思維概述1.1
計算思維概念計算思維是運用計算機科學的基礎概念進行問題求解、系統設計,以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。計算思維由周以真于2006年3月首次提出。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關的思維過程,其解決問題的表示形式應該能有效地被信息處理代理執行。計算思維的本質是抽象和自動化。就是如何利用計算機去求解問題,確定合適的抽象;自動化是最終目標,選擇合適的方法去解釋執行該抽象,讓機器去做計算的工作。1.2計算思維在社會生活中的應用決策制定:在個人生活或商業環境中,計算思維有助于分析信息、評估選項并做出最佳決策。問題解決:計算思維使人們能夠分解問題、識別模式并提出解決方案。這種思維方式強調邏輯推理和創造性解決問題的能力。科學研究和創新:計算思維在科學領域中至關重要。它幫助科學家分析數據、構建模型、測試假設,并發現新的解決方案和創新。技術和工程領域:計算思維對于軟件開發、工程設計和技術創新至關重要。它涉及編碼、系統設計和解決技術難題的能力。數據分析和預測:在商業領域,計算思維可以幫助分析大量數據,發現趨勢并做出預測。這對市場營銷、銷售預測和業務決策非常重要。教育和培訓:教育界認識到計算思維對于學生的重要性,因此越來越多的教學方法側重于培養學生的邏輯思維、問題解決能力和創造性思維。社會政策制定:在政府和社會領域,計算思維可以幫助分析社會問題、評估政策效果并制定更有效的政策方案。信息管理和安全:計算思維對于管理和保護信息資產至關重要。它有助于識別和解決安全漏洞,確保數據和信息的安全性。1.2
計算思維在社會生活中的應用準備去旅行時,提前將所需的衣物、洗漱用品等放入行李箱,這就是一種預置行為預置;當你使用手機或電腦瀏覽網頁時,瀏覽器會將已經訪問過的網頁內容暫時存儲在緩存中,以便下次再次訪問相同的網頁時能夠更快地加載。這就是一個日常生活中常見的緩存;當你在迷宮中迷路時,你可能會使用回溯策略來找到出口;在超市付賬時,你應該選擇哪個隊伍排隊,可以涉及到計算思維中的“最優化”;當你對智能手機說出指令或問題時,比如“設置提醒我明天早上8點起床”,智能手機的語音識別系統會錄下你的聲音并將其轉換成文本。在這個過程中,神經網絡可能會用于語音的識別和理解;計算思維的基本特征是概念化,而不是程序化計算思維不等同于計算機編程。像計算機科學家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。是根本的,不是刻板的技能。是一種根本技能,是人為了在現代社會中發揮職能所必須掌握的分析和解決問題的能力,刻板技能意味著機械的重復。是人的,不是計算機的思維計算思維是人類求解問題的途徑,但決非要使人類像計算機那樣思考。比如計算思維使用海量數據來加速計算,在時間和空間、處理能力和存儲容量之間進行權衡,人并不需要具備這樣的能力。計算思維的基本特征是數學和工程思維的互補與融合計算機科學本質上源自數學思維和工程思維,像其它科學一樣,其基礎源自數學學科,但其實現過程又基于工程思維,計算機系統的目標是創造能與現實世界互相的系統。是思想,不是人造物計算思維不只是我們生產的軟硬件以物理形式到處呈現并時刻觸及我們的生活,更重要的是還體現了人類用以接近和求解問題,管理日常生活、與他人交流互動的計算思想。1.4
利用計算思維求解問題的一般方法第一步:把實際的應用問題轉化為數學問題,建立數學模型;第二步:設計算法;第三步:將算法編程實現;
第四步:在計算機中運行求解前兩步是計算思維中的抽象,后兩步是計算思維中的自動化。真題解析下列關于計算思維的描述,正確的有A.計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的系列思維活動B.計算思維的本質是抽象與自動化C.計算思維是人的思維,不是計算機的思維D.計算思維是分析和解決問題的能力,而不是刻板的操作技能例題:1.問題解決和系統設計涉及哪種思維范式?A.平面思維B.計算思維C.文學思維D.視覺思維答案:B.計算思維2.計算思維的核心特征是什么?A.理性與情感的結合B.創造力和想象力C.抽象化和自動化D.實用主義與理論性的結合答案:C.抽象化和自動化3.計算思維的特點是什么?A.特定性和固定性B.邏輯性和系統性C.非理性和隨機性D.實驗性和主觀性答案:B.邏輯性和系統性4.計算思維是人的思維方式,與計算機的思維方式有何區別?A.無區別B.計算思維和計算機思維完全相同C.計算思維強調應用計算機概念和技術,而不是計算機本身的思維D.計算機思維更注重人類的抽象化能力答案:C.計算思維強調應用計算機概念和技術,而不是計算機本身的思維二、算法與數據結構2.1
算法的概念與特征算法通俗講就是解決某種問題所采用的一系列的方法和步驟。可以看作是由有限個步驟組成的用來解決問題的過程,其實質反映的是解決問題的思路和步驟。2.1
算法的概念與特征算法的特征:有窮性、確定性、可行性。有窮性:一個算法應包含有限個操作步驟,也就是說,解決過程必須是可終止的。確定性:算法的每一個步驟都必須明確定義,不應該產生二義性。
可行性:算法的每一個步驟都是可以在有限時間內完成的基本操作,并能得到確定的結果。輸入:有零個或多個輸入,執行算法有時需要從外界取得必要的信息。輸出:有一個或多個輸出。沒有輸出的算法是沒有意義的。2.2
算法的3種基本的控制結構1、順序結構是最簡單、最基本的控制結構,其操作步驟是按照設置的先后順序,一步一步的執行。2、選擇結構也叫分支結構,它首先需要判斷給定條件的真假,然后選擇執行方向和順序3、循環結構也叫重復結構,它在給定條件成立時,需要反復重復執行同一操作或類似操作。算法的表示方法常見的算法表示方法有:自然語言、流程圖、N-S圖、偽代碼等。1、自然語言優點通俗易懂缺點:容易產生歧義,導致執行的不確定性。當算法循環和分支較多時,很難清晰的表示出來。自然語言表示的算法不便翻譯成計算機程序設計語言。2.3
算法的表示方法2、用流程圖表示算法流程圖是一種常用的算法描述工具,主要采用一些圖框表示
各種操作,用箭頭表示算法流程,其特點是直觀形象,結構清晰,易于理解。美國標準化協會ANSI規定了一些常用的流程圖符號,已為世界各國程序工作者普遍采用。2.3
算法的表示方法2、用流程圖表示算法int
i
=
0;輸出i不成立i=i+1i是偶數?不成立成立結束開始i
=
0,cnt
=
0;cnt
=
cnt
+
ii
<=
100?成立不成立i=i+1開始輸出cnt結束i<100?int
i
=
0;輸出i不成立i=i+1不成立成立結束開始i
=
0,cnt
=
0;cnt
=
cnt
+
ii
<=
100?成立不成立i=i+1開始輸出cnt結束int
i
=
0;i<100?;i是偶數嗎?2.3
算法的表示方法3、N-S圖表示法N-S圖也稱N-S流程圖,這種流程圖完全去掉了帶箭頭的流程線,對算法的每一步描述都用一個矩形框表示。優點:比文字描述更直觀、形象、易于理解比傳統的流程圖緊湊易畫廢除流程線,整個算法結構是由各個基本結構按順序組成,N-S圖的上下順序就是執行時的順序。流程圖和盒圖比較Leap=1?求閏年算法的表示方法4、偽代碼表示法偽代碼是介于自然語言和計算機語言之間的文字和符號來描述算法的工具。優點:書寫方便、格式緊湊,易于理解,便于向計算機程序設計語言過渡缺點由于語言的種類繁多,偽代碼的語句不容易規范。2.3
算法的表示方法4、偽代碼表示法真題解析2.4
典型問題求解策略算法策略就是在問題空間中搜索所有可能的解決問題的方法,直到
選擇一種有效的方法解決問題,策略是面向問題的,算法是面向實現的。經典的算法策略主要包括:枚舉算法、遞推算法、遞歸算法、分治算法、貪心算法、回溯算法等。1、枚舉算法也叫窮舉法,其思路就是對問題的所有可能的解空間逐一嘗試,直到找到最終解。針對于要解決的問題,列舉出它所有可能的情況,逐個判定哪些是符合問題所要求的約束條件,從而得到問題的解。枚舉算法的示例:百錢買百雞2.4
典型問題求解策略2、遞推算法遞推算法是通過已知條件,利用特定關系得出中間結論,直到得到結果的算法。遞推算法分為順推和逆推兩種。順推就是從已知條件出發,
逐步推算出要解決的問題的方法。逆推從已知問題的結果出發,
用迭代表達式逐步推算出問題的開始的條件,是順推法的逆過程。示例:斐波拉契數列,設它的函數為f(n),已知f(1)=1,f(2)=1;
f(n)=f(n-2)+f(n-1)(n>=3,n∈N)。則我們通過順推可以知道:f(3)=f(1)+f(2)=2,f(4)=f(2)+f(3)=3……直至我們要求的解2.4
典型問題求解策略3、遞歸算法遞歸算法是把問題轉化為規模縮小了的同類問題的子問題,然后通過遞歸調用函數或過程來表示問題的解。遞歸算法是一個程序或函數直接或間接調用自己本身。示例:漢諾塔問題斐波拉契數列2.4
典型問題求解策略4、分治算法分治算法是將一個規模較大的問題,分解為若干個規模較小的子問題,這些子問題相互獨立且與原問題性質相同,再把子問題分成更小的子問題,直到最后子問題可以簡單的直接求解,原問題的解即為子問題的解的合并。分治是一種算法思想,思路。示例:二分搜索(折半搜索《幸運52》)2.4
典型問題求解策略4、分治算法示例:
二分搜索2.4
典型問題求解策略5、貪心算法是指在對問題求解時,總是做出在當前看來是最好的選擇,也就是說,不從整體最優加以考慮,僅是局部最優解。貪心算法常常用于組合優化問題,它的求解過程是多步判斷的過程。示例:合并排序問題6、回溯算法也稱試探法,是一種優選搜索法,按選優條件向前搜索,以達到目標。但
當探索到某一步時,發現原先選擇并不優或達不到目標,就退回一步重新選擇。解決一個回溯問題,實際上就是一個決策樹或回溯樹的遍歷過程。示例:全排列問題、N皇后問題2.4
典型問題求解策略6、回溯算法----八皇后2.5
算法評價評價算法優劣的指標或條件:正確性、可讀性、健壯性、復雜性1、正確性算法應當能正確求解問題。正確性是評價算法的首要條件,一個正確的算法是指在合理的輸入數據下,能在有限的運行時間內得到正確的結果。2、可讀性好的算法應當具有良好的可讀性,容易理解3、健壯性(魯棒性)當輸入非法數據時,算法也能適當的做出反應或進行處理,而不會產生莫名其妙的輸出結果2.5
算法評價4、復雜性算法復雜性分為時間復雜度和空間復雜度,用于評價算法在運行時間和占用空間上的程度。通常把算法中所消耗的時間的多少稱為“算法的時間復雜度”,算法的時間效率是問題規模n的函數。可記作T(n)=O(f(n)),比如,
算法的執行時間為
3*n2+3n+1,則它的時間復雜度為T(n)=O(n2)算法的時間復雜度一般有:O(1)常數級、O(logn)對數級、O(n)線性級、O(nc)多項式級(c為常數)、O(cn)指數級(c為常數)、O(n!)階乘級常數時間復雜度O(1):算法的執行時間與輸入規模無關,例如直接訪問數組中的一個元素。對數時間復雜度O(logn):二分查找等對數據規模進行對數級別的處理,隨著輸入規模增加,其執行時間不是線性增長,而是以對數的方式增長。線性時間復雜度O(n):算法的執行時間與輸入規模成線性關系,例如遍歷一個數組。線性對數時間復雜度O(nlogn):一些高效排序算法(如歸并排序、快速排序)的時間復雜度。平方時間復雜度O(n^2):一些簡單排序算法(如冒泡排序、插入排序)的時間復雜度,執行時間與輸入規模的平方成正比。指數時間復雜度O(2^n):某些暴力解法、窮舉法等算法的時間復雜度,隨著輸入規模的增加,執行時間指數級增長。階乘時間復雜度O(n!):某些旅行商問題、全排列問題等的時間復雜度,隨著輸入規模的增加,執行時間按階乘級別增長。2.5
算法評價4、復雜性算法在運行過程中所消耗的內存空間的大小被稱為“算法的空間復雜度”。用S(n)表示。與算法的時間復雜度相同。算法的空間復雜度也可表示為:S(n)=O(g(n)),表示隨著問題規模n的增大,算法運行所需存儲量的增長率與g(n)的增長率相同。2.6
數據結構定義一:數據結構是計算機存儲、組織數據的方式。定義二:數據結構(data
structure)是帶有結構特性的數據元素的集合,它研究的是數據的邏輯結構和數據的物理結構,以及它們之間的相互關系,并對這種結構定義相適應的運算,設計出相應的算法,并確保經過這些運算以后所得到的新結構仍保持原來的結構類型。數據結構與算法之間的關系:數據結構+算法=程序2.6
數據結構典型的數據結構包括線性表、樹和圖。線性表是最基本、最簡單也是最常用的一種數據結構。線性表的定義:一個線性表是n個具有相同特性的數據元素的有限序列。通常來說,從邏輯上看,線性表中數據元素之間的關系是一對一的關系,即除了第一個和最后一個數據元素之外,其它數據元素都是首尾相接的。堆棧和隊列是兩種特殊的線性表數據結構,前者是一種后進先出(FILO),后者是一種先進先出(FIFO)的集合。2.6
數據結構1、隊列(先進先出:FIFO)2.6
數據結構2、堆棧(后進先出:LIFO)2.6
數據結構3、樹是由n(n≥0)個有限節點組成一個具有層次關系的集合2.6
數據結構4、圖是由頂點集合以及頂點間的關系集合組成的一種數據結構。真題解析2.7
算法的時間和空間優化算法復雜度的優化,就是要將可行解提高到更優解,其最終目標是:要采用盡可能低的時間復雜度和空間復雜度,去完成一個算法的設計。1、無效操作剔除處理為了降低算法復雜度,一個首要的思路是:
清理算法中的無效計算或無效存儲。即首先嘗試將代碼中的無效計算、無效存儲剔除。比如,在一個窮舉算法中,可以嘗試縮小可用的窮舉空間,以減少無用的窮舉操作。或者盡量提高變量或數據結構的復用性,減少內存的使用。2.7
算法的時間和空間優化2、使用合理的算法和數據結構對于同一問題,可用的算法或數據結構可以有很多種,都能實現相同的目的,為了減少算法的時間和空間復雜性,可以選用最優的方案。降低空間復雜度的核心思路就是。盡可能用低復雜度的數據結構,而不用高復雜度的數據結構;盡可能復用現有內存,而不是重新分配
新的內存降低時間復雜度常用的方法有遞歸、二分法、排序算法、動態規劃等。2.7
算法的時間和空間優化3、時間換空間或空間換時間由于系統資源是有限的,為了在有限的資源內,達成某些特定的性能目標,還可以使用時間換空間或者空間換時間的方法。性能優化的關鍵在于掌握各部分組件的性能平衡點,如果系統CPU資源有空閑,但是內存使用緊張,便可以使用用時間換空間的策略,即多花一點CPU工作時間,來換取空間的節省。。時間換空間通常用于嵌入式設備,或者內存、硬盤空間不足的情況,通過使用犧牲CPU的方式,獲得原本需要更多內存或者硬盤空間才能完成的工作。2.7
算法的時間和空間優化2、時間換空間或空間換時間與時間換空間的方法相反,空間換時間則是嘗試使用更多的內存或者磁盤空間換取CPU資源或者網絡資源等,通過增加系統的內存消耗,來加快程序的運行速度。典型應用就是緩存的使用,緩存是一塊額外的系統內存區域,如果沒有緩存,程序依然可以正常工作,但是在一般情況下,緩存中總是保存那些頻繁或即將使用的數據,反復從內存獲取這些數據會花費大量的資源和時間,而通過緩存這塊額外的內存,避免了頻繁的CPU資源消耗,加快了程序的運行速度。CPU內部的高速緩存(cache),程序設計中的緩存策略,都是空間換時間的典型應用。三、程序設計語言程序設計語言可以分為三類:機器語言、匯編語言、高級語言。其中,機器語言和匯編語言都屬于低級語言。1、機器語言機器語言是計算機系統唯一能直接識別、不需要翻譯直接供機器使用的程序設計語言。機器語言實際上是一串二進制指令代碼,其中的每條語句稱為指令。機器語言的缺點:編寫難掌握、編程繁瑣、可讀性差、容易出錯、修改和調試均不方便。依賴于具體的機器,所以通用性和移植性很差。機器語言的優點:能充分發揮硬件功能的特點,程序運行速度非常快,程序也可以編寫的非常簡潔。2、匯編語言是機器語言的“符號化”。匯編語言和機器語言基本上一一對應的,但在表示方法上作了改進,用一
種助記符來代替操作碼,用符號來表示操作數地址(地址碼)。例如用“ADD”表示加操作,用“MOV”來表示數據傳送等。用助記符和符號地址來表示指令,
容易辨認,給程序的編寫帶來了很大的方便。匯編語言的優點:比機器語言直觀、容易記憶和理解,比機器語言程序易讀、易檢查、易修改。缺點:本質上仍然是面向機器的語言,依賴于具體的計算機、很難在系統間移植,這樣的程序編寫起來仍然比較困難,程序的可讀性也比較差。匯編語言不能直接被計算機直接識別和執行,把匯編語言源程序翻譯成機器語言的過程稱為匯編。3、高級語言高級語言是20世紀50年代后期開始出現的,是一種接近于人類自然語言的習慣、便于閱讀理解、檢查和修改。高級語言易學易用、可讀性好、表達能力強(接近自然語言)、通用性好(編寫的程序能在不同的計算機系統上運行)。高級語言不能被計算機直接識別和執行。高級語言可以分成兩類:解釋型和編譯型解釋型語言:有一個專門的解釋程序,對源程序一邊翻譯、一邊執行,不產生目標程序,如python。編譯型語言:需要由編譯程序先翻譯成目標程序以后才可以執行,會產生目標程序。如C語言、C++、Basic、Visual
basic、C#、java、Jbuilder、delphi。問題1:在編程中,“變量”是什么?a)一種控制結構b)用于存儲數據的標識符c)只能存儲數字的存儲單元d)用于執行循環的關鍵字答案:b)用于存儲數據的標識符問題2:在編程中,“if”語句用于什么目的?a)執行循環b)定義函數c)實現條件判斷d)進行數據類型轉換答案:c)實現條件判斷問題3:以下哪個關鍵字用于退出循環?a)exitb)loopc)breakd)continue答案:c)break問題4:在編程中,“數組”是什么?a)一種數據類型b)一種函數c)一組相同類型的元素集合d)用于控制程序流程的結構答案:c)一組相同類型的元素集合問題5:在編程中,“函數”是用來做什么的?a)存儲數據b)控制程序流程c)執行特定任務的獨立模塊d)定義變量類型答案:c)執行特定任務的獨立模塊問題6:在編程中,“循環”用于什么目的?a)限制變量的范圍b)重復執行特定代碼塊c)控制函數的返回值d)使變量變得全局可用答案:b)重復執行特定代碼塊問題7:在編程中,“對象”是什么?a)變量的別名b)一種數據類型c)一種抽象數據類型的實例d)用于存儲常量的容器答案:c)一種抽象數據類型的實例問題8:在編程中,“字符串”是什么?a)一種數據類型b)用于保存數字的變量c)用于存儲文字的變量d)一種控制流結構答案:c)用于存儲文字的變量問題9:在編程中,“迭代”是指什么?a)數據類型轉換b)循環的執行次數c)重復執行過程的過程d)函數的返回值答案:c)重復執行過程的過程問題10:在編程中,“注釋”是用來做什么的?a)改變變量的值b)調試程序錯誤c)解釋代碼的功能d)控制程序的執行順序答案:c)解釋代碼的功能四、面向對象(
Object
Oriented
)程序設計1、概述目前程序設計方法主要有兩種:結構化程序設計和面向對象程序設計。在結構化程序設計中,任何程序段的編寫都基于3種結構:順序結構、分支結構、循環結構。程序具有明顯的模塊化特征,每個程序模塊具有唯一的出口和入口語句。面向對象程序設計方法是盡可能模擬人類的思維方式,使得軟件的開發方法與過程盡可能接近人類認識世界、解決現實問題的方法和過程,也即使得描述問題的問題空間與問題的解決方案空間在結構上盡可能一致,把客觀世界中的實體抽象為問題域中的對象。1、概述面向對象程序設計可以看作一種在程序中包含各種獨立而又互相調用的對
象的思想,這與傳統的思想剛好相反:傳統的程序設計主張將程序看作一系列
函數的集合,以功能模塊為中心,采用模塊化自頂向下,逐步求精的設計過程。面向對象程序設計把構成問題的事務抽象分解成各個對象,每一個對象都
能夠接受數據、處理數據并將數據傳達給其它對象,或者調用其它對象的方法。面向對象方法的優點:與人類習慣的思維方法一致;穩定性好;可重用性好;易于開發大型軟件產品;2、面向對象程序設計的基本思想客觀事物是由對象組成的,對象是在原事物基礎上抽象的結果。對象是由屬性和操作組成的,其屬性反映了對象的數據信息特征,而操作則用來定義改變對象屬性狀態的各種操作方式。對象之間的聯系通過消息傳遞機制來實現。對象可以按其屬性來歸類。對象具有封裝、繼承、多態的特性,可達到軟件復用的目的。面向對象的三(四)大特性:
(抽象)、封裝、繼承、多態塞大象()把大象裝進冰箱-結構化程序設計方法開始結束打開冰箱門()關閉冰箱門()雙手開門單手開門結束雙手關門單手關門把大象裝進冰箱-結構化程序設計方法開始 開始結束雙開門冰箱?是開冰箱門(
)關冰箱門(
)否否雙開門冰箱?是把大象裝進冰箱-結構化程序設計方法裝大象揍大象()開始結束塞大象(
)否大象愿意進?是皮鞭抽棍棒打開始結束揍大象(
)棍棒工具?皮鞭把大象裝進冰箱-面向對象程序設計方法屬性:冰箱類型方法1:開門()方法2:關門()方法3:裝載(物品)屬性:意愿方法:挨揍(工具)冰箱對象大象對象冰箱.開門()開始結束冰箱.關門()大象.挨揍(皮鞭)冰箱.裝東西(大象)大象.意愿=愿意?是否3、對象(object)對象是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象可以是具體的物(人、動物),也可以指某些概念(會議、課程)。對象是構成系統的一個基本單位,任何對象都具有自己的特征和行為。所以對象由一組表示其靜態特征的屬性和它可執行的一組操作組成。屬性即對象的特征,操作描述了對象執行的功能(對象具有的行為),操作也稱為方法或服務。4、類(class)類是編程實現中的概念,是指編程中具有相同屬性和方法的對象的集合。在編程中,類是對象的抽象,對象是類的一個實例。類相當于在程序語言中為某個對象設計的圖紙,而對象則是依據圖紙制造出來的某個實際產品。類中所包含的所有東西,稱為類的成員,包括類的屬性和方法。右方的代碼定義了一個“狗”的類,這只狗具有毛發顏色和是否孕育兩個屬
性,還有一個吠叫的方法。5、消息(Message)消息是對象之間傳遞的信息。對象之間只能通過消息進行通信,而不允許在對象之外直接地訪問它內部的屬性,這是由封裝原則引起的。消息必須直接發給特定的對象,消息中包含所請求服務的必要信息,且遵守所規定的通信規格說明。一條消息至少包括:消息名、入口參數、可能返回的參數,一個對象可以是消息的接受者、發送者和參數。6、封裝(Encapsulation)在完成抽象后,通過某種語法形式,將對象的屬性和方法捆綁在一起,在形式上寫成一個整體,即“類”,并盡可能隱藏對象的內部細節,對象好像是一個不透明的黑盒子,這個過程就叫作“封裝”。封裝是面向對象程序設計方法的一個重要特性,封裝具有兩方面的含義:1)將數據和操作代碼封裝在一個對象中,各個對象相對獨立、互不干擾;2)將對象中某些操作代碼對外隱藏,即隱藏其內部實現細節,只留下少量接口,以便與外界聯系,接收外界消息,這種做法稱為信息隱藏。信息隱藏有利于數據安全,防止無關人員訪問和修改數據。6、封裝(Encapsulation)對象封裝以后,使用一個對象的時候,只需知道它向外界提供的接口而無需知道它的數據結構細節和實現操作的算法。封裝的結果實際上隱藏了復雜性,并提供了代碼重用性,從而減輕了開發軟件系統的難度。7、繼承(In
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨文化談判心理效應-洞察闡釋
- 醫療美容促銷活動與消費者心理預期匹配度分析-洞察闡釋
- 小學五年級科學下冊教案
- 電子商務平臺成立公司投資入股協議
- 智能化采購合同管理與談判策略定制合同
- 沖擊錘施工安全事故應急預案與責任認定合同
- 2025全面商業辦公租賃合同范本
- 2025建筑工程安裝合同范本
- 2025標準車輛租賃合同范本
- 基于RTMaps的多傳感器融合與場景建模研究
- 財政一體化業務系統
- 北美連續油管技術的新進展及發展趨勢李宗田
- 博克服裝CAD制版說明操作手冊(共95頁)
- 光電效應測普朗克常數-實驗報告
- 110千伏變電站工程檢測試驗項目計劃
- 《鐵路貨物運價規則》
- YD_T 3956-2021 電信網和互聯網數據安全評估規范_(高清版)
- (完整版)數學常用英文詞匯
- 完整word版醫院外包業務管理質量安全評估報告內部審計報告及工作改進實例
- 最新《消費者行為學》綜合練習
- 調崗調薪實操指引PPT課件
評論
0/150
提交評論