面向對象程序設計C++:第1章 面向對象編程_第1頁
面向對象程序設計C++:第1章 面向對象編程_第2頁
面向對象程序設計C++:第1章 面向對象編程_第3頁
面向對象程序設計C++:第1章 面向對象編程_第4頁
面向對象程序設計C++:第1章 面向對象編程_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、面向對象程序設計C+ 上海大學 計算機的發(fā)展“摩爾定律”:微處理器的速度會每18個月翻一倍。“吉爾德定律”:主干網(wǎng)的寬帶將每6個月增加一倍?!胞溙乜柗蚨伞保壕W(wǎng)絡的N個聯(lián)結能夠創(chuàng)造N平方的效益?!氨葼柹w茨定律”:軟件的發(fā)展無極限,它只受人的想象力的限制。世界工業(yè)現(xiàn)狀中國經(jīng)濟轉型。發(fā)達國家制造業(yè)回歸,西方強國“再工業(yè)化”。世界上很多國家都在制定制造業(yè)發(fā)展戰(zhàn)略。當前,信息技術、新能源、新材料、生物技術等重要領域和前沿方向的革命性突破和交叉融合,正在引發(fā)新一輪產(chǎn)業(yè)變革,將對全球制造業(yè)產(chǎn)生顛覆性的影響,并逐漸改變著全球制造業(yè)的發(fā)展格局。特別是新一代信息技術與制造業(yè)的深度融合,將促進制造模式、生產(chǎn)組織

2、方式和產(chǎn)業(yè)形態(tài)的深刻變革。以德國工業(yè)4.0、美國工業(yè)互聯(lián)網(wǎng)、新工業(yè)法國為代表,主要發(fā)達國家圍繞建立制造競爭優(yōu)勢,加快在信息基礎設施、核心技術產(chǎn)業(yè)、以智能制造為核心的經(jīng)濟體系等方面進行戰(zhàn)略部署,謀求在技術、產(chǎn)業(yè)方面繼續(xù)領先優(yōu)勢,占據(jù)高端制造領域全球價值鏈的有利位置。上海大學 國家戰(zhàn)略2015年5月19日,國務院正式印發(fā)了我國實施制造強國戰(zhàn)略第一個十年的行動綱領中國制造2025。 工信部部長苗圩說:一個目標:制造業(yè)大國向制造業(yè)強國去轉變就是通過兩化融合發(fā)展來實現(xiàn)這個目標“三步走”3個十年, 四項原則,五條方針,十個領域(新一代信息技術產(chǎn)業(yè),新能源,總理李克強說:上海大學 中國制造2025可簡單概括

3、為“一二三四五五十”中國制造2025的“要害”:實現(xiàn)中國“智”造?!爸恰睆哪睦飦??就是要集眾人之智。國家戰(zhàn)略2015年07月04日國務院發(fā)布國務院關于積極推進“互聯(lián)網(wǎng)+”行動的指導意見工信部部長苗圩說:我說:上海大學 我認為“互聯(lián)網(wǎng)+”是一個很大的概念,互聯(lián)網(wǎng)+社會就變成社會信息化,互聯(lián)網(wǎng)+環(huán)保,就可以綠色化發(fā)展。但是我認為最具備條件的,還是互聯(lián)網(wǎng)+先進制造業(yè),這將成為“互聯(lián)網(wǎng)+”最先突破的一個領域。互聯(lián)網(wǎng)企業(yè)+制造業(yè)Google+無人汽車。阿里巴巴+智能機器人。百度+人工智能。傳統(tǒng)企業(yè)+互聯(lián)網(wǎng)GE+互聯(lián)網(wǎng) (工業(yè)互聯(lián)網(wǎng))你所在的企業(yè)+互聯(lián)網(wǎng)國家戰(zhàn)略具體化0. 智能 - 信息的處理能力。1.

4、智能制造就是要研發(fā)出一批智能化的產(chǎn)品。比如機器人。2.整個生產(chǎn)過程的智能化或者叫信息化。3. 旨在通過物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等新一代信息技術,與已有的信息化、自動化技術結合在一起,把制造系統(tǒng)的各元素聯(lián)結起來,形成信息物理系統(tǒng),實現(xiàn)相互協(xié)同、遙相呼應。實例:全無人駕駛交通體系。上海大學 如何實現(xiàn)機器的智能化智能的機理是什么? 是程序。見下頁機器的能夠實現(xiàn)智能化嗎?離開語言還會有智能嗎? 世界可以用語言描述(自然,數(shù)學語言),可以用符號標識,與媒介無關,中文英文阿拉伯文都可以,關鍵是標準統(tǒng)一,映射統(tǒng)一。 人用語言工具可以推理,計算智能。只有0,1兩個符號的機器可以描述世界嗎?可以計算和推理嗎? 圖

5、靈機。上海大學 上海大學 程序軟件智能智慧生命體用計算機語言編寫的命令序列的集合與計算機系統(tǒng)有關的程序、規(guī)程、規(guī)則,以及文件、文檔及數(shù)據(jù)代碼數(shù)據(jù)01010101000000010010101語言智能 、數(shù)學邏輯智能、空間智能、身體運動智能、音樂智能人際智能、自我認知智能、自然認知智能硬件的靈魂C/C+C#JavaJavaScript匯編語言BasicObjective-CFortran宇宙的法則是很簡單的,但結構是很復雜的。不是廬山真面目,只緣身在此山中。軟件定義網(wǎng)絡軟件定義數(shù)據(jù)中心軟件定義硬件軟件定義服務。軟件定義世界人類發(fā)展出高等數(shù)學和電腦程序來解決復雜的事物關系,成為現(xiàn)代文明高速發(fā)展的核

6、心動力,而文學家藝術家哲學家等就退出了人類文明推動力的核心群體,逐步邊緣化。軟件定義一切,軟件驅動世界上海大學 示例和就業(yè)奧巴馬學編程/p/news/w/v/2014-12-09/164364370025.html奧巴馬向美國人喊話,呼吁每個美國人都學習編程http:/watch/7094995197435901926.html?page=videoMultiNeed招聘1. / 2. /cls/class_050502.htm/pub/view/219402-26074.html上海大學 網(wǎng)絡發(fā)展的里程碑-1996年的NetDay。圖中展示的是美國總統(tǒng)比爾克林頓和副總統(tǒng)艾伯特戈爾在NetDa

7、y那天一起安裝計算機電纜。這對網(wǎng)絡的發(fā)展起到了至關重要的推進作用。GE:未來每一個工業(yè)企業(yè)也必須是一家軟件企業(yè) 伊梅爾公司董事長兼首席執(zhí)行官杰夫伊梅爾特說:昨晚睡覺時GE還是工業(yè)公司,今天醒來就變成軟件公司了。工業(yè)企業(yè)和互聯(lián)網(wǎng)企業(yè)的劃分已經(jīng)是過去時了,未來每一個工業(yè)企業(yè)都必須是一家軟件企業(yè)或數(shù)據(jù)分析企業(yè)。 這種變化正在我們眼前發(fā)生。軟件!軟件!軟件!上海大學 自動化系 意義重大的一天:計算機科學教育周,“編程一小時”活動2013年美國總統(tǒng)奧巴馬編寫了一段很簡單的計算機代碼,實現(xiàn)了在屏幕上顯示一個正方形的功能。雖然操作簡單,但是此舉意義重大。奧巴馬表示,雖然自己從未編寫過程序,但是學習這些技能對

8、人們和國家的未來都很重要,“如果我們想讓美國保持領先地位,就需要年輕一代的美國人掌握這種工具和技術,它將改變我們所有的做事方式?!北菊n程的本質特征天下不會掉餡餅,實現(xiàn)智能制造、互聯(lián)網(wǎng)+,人工智能,其實就是要設計程序。如何用01數(shù)字來描述世界,分析計算變換驅動世界,即如何設計出智能電腦程序。軟件定義世界,數(shù)據(jù)驅動世界。越來越智能,程序越來越復雜,設計決定了其成敗,80年代就開始出現(xiàn)軟件危機了。見下頁本課程介紹的程序設計方法的精髓是:按照人對世界的認識的方法來設計程序。只有想不到,沒有做不到!上海大學 上海大學 軟件危機計算機硬件的性價比不斷提高,促使把更多更復雜的問題交給計算機去解決。上海大學

9、編程是重要的,但更具有決定意義的是系統(tǒng)設計(好比建筑設計圖等)。軟件危機:系統(tǒng)的復雜性超出了所能駕御的程度。85%的錯誤是在需求分析和設計時犯的。人們一直在尋求更先進的軟件方法與技術而奮斗。面向對象的方法是當前軟件領域(分析、設計、編程、測試)的主流技術。面向對象的程序設計是使計算機向有表述能力的媒體發(fā)展的思想方法,解決方案。上海大學 面向對象的程序設計總要落腳到一種語言來描述.學習那種計算機語言最好?PC機上:上百種計算機語言 大浪淘沙 FORTRAN (最古老的高級語言) BASIC- QBASIC-Visual BASIC-Visual BASIC .NETPASICAL- Delphi

10、; Object-C(蘋果) Java C- C+ - Visual C+ -C#(最新的計算機語言) Visual C+ .NET. (見 01-客觀認識C+.ppt)其他機種各種硬件驅動程序、單片機、數(shù)字信號處理器等: 匯編語言(與機器有關)、C語言 、C+語言客觀認識C+.ppt最大的優(yōu)點:全能,高效、專業(yè)。最大的缺點:開發(fā)效率低自動化專業(yè)的學生當然是學習C/C+語言最好! 你學哪種語言最有錢途.pdf上海大學 系統(tǒng)級編程語言- C+C+是一種傾向系統(tǒng)編程的通用程序設計語言:是更好的C支持數(shù)據(jù)抽象支持面向對象的編程支持泛型編程系統(tǒng)編程是指,傳統(tǒng)上與操作系統(tǒng)和基礎工具有關的任務。包括:操作

11、系統(tǒng)內核、設備驅動程序、系統(tǒng)工具、網(wǎng)絡、字處理工具、編譯器、某些種類的圖形學和GUI、數(shù)據(jù)庫系統(tǒng)、游戲引擎、CAD/CAM、電信系統(tǒng)等等。這類工作很好地代表了當前的C+用戶。上海大學 怎樣才能學好C+語言?自然語言:單詞、語法、句子、段落、文章C+語言:關鍵字、語法、語句、函數(shù)、類(模塊)、文件學外語:聽、說、讀、寫學計算機語言:讀、寫C+語言 入門容易得道難!最基本的、最死板的是語言本身(語言語法或語言規(guī)則)最難的、最靈活的是用語言工具對應用的設計,無止境。最好的學習方法是:閱讀(通讀教材、多讀各類資料、源程序),上機實踐編程。我們?yōu)槭裁幢让罋W落后那么多?中國是制造業(yè)大國,卻不是強國,前面的

12、分析已知道了,就是軟件落后。起步相同,為什么那么落后?中國是仿冒強國,卻是原創(chuàng)弱國。同樣,我們這門課,很難學習,常常是不理解為什么要這么做,于是就是生搬硬套。上海大學 在中國的文化里,理性思維似乎是一直受抑制的,中國文人傳統(tǒng)都是非理性思考者。所謂非理性思考,主要是形象思維,包括聯(lián)想、比方等形式,這些思維方式作為人類與生俱來的思維方式的一種,一方面當然具有它的好處(如,聯(lián)想啟發(fā)新思路,類比也有助于用新的方式解決既有問題),然而,這樣的思維方式同樣也充滿了各種各樣的謬誤,隨處可見的不靠譜的類比和文字游戲。在科學上滿足于司空見慣,想當然,浮躁,缺乏邏輯分析,所以很難深入下去。上海大學 美國人來華留學

13、4年,主攻漢語。臨畢業(yè),參加中文晉級考試,題量超少,暗喜。再仔細一看,蒙了,題目如下: 一、請寫出下面兩句話的區(qū)別在哪里? 1、冬天:能穿多少穿多少;夏天:能穿多少穿多少。 2、剩女產(chǎn)生的原因有兩個,一是誰都看不上,二是誰都看不上。 3、單身的原因:原來是喜歡一個人,現(xiàn)在是喜歡一個人。 二、附加題: 中國足球和中國乒乓球,一是誰都贏不了,二是誰都贏不了。 美國佬淚流滿面,交了白卷,回國了。上海大學 例:宇宙有邊界嗎?形象思維中,簡單的歸類陰陽有又沒有,只有詭辯理性的思維,程序設計的思維方法,邏輯與分析:什么是邊界?先要定量或數(shù)字化的定義,即要先建立模型-非歐幾何、空間彎曲、相對論。又如2=1.

14、4142135623730950488016887242097有人問金庸在劍橋大學讀到了什么好書,金庸說:上海大學 讀到好書并不重要,重要的是學到了英國與中國完全不同的研究學問的方式?!爸袊藢懳恼麓笾掠袀€方向,高屋建瓴地寫;英國教授則要求,寫文章每一句話都要有根據(jù),要拿出證據(jù),否則不成立。做學術必須有根有據(jù)。目的本課程是一個綜合性實踐性課程面向對象程序設計的理論、原理、概念和技術方法C/C+語言數(shù)據(jù)結構,Visual 開發(fā)工具,軟件工程電氣工程及其自動化應用領域目標:有能力開發(fā)應用軟件。這門課就是一扇門,師傅帶進門進了這扇門,要多看看,學學,出門就會感覺不同了,目的也就達到了。上海大學 第一

15、章 面向對象編程上海大學 C/C+語言面向對象的基本元素1.見嬰兒學對象2. 幼兒園學抽象3. 中小學學推理和計算4. 大學學建模,學程序設計電腦擁有或要學有對象的定義上海大學 現(xiàn)實世界的認識C+語言描述存在性、占有空間地址,內存大小可見性作用域符號標識標識符(變量)類別(特征,行為模式)類對象間信息交流對象訪問(通過標識符、地址)函數(shù)調用(完成一個過程)對象狀態(tài)變化變量值,狀態(tài)機為什么需要面向對象思維?軟件是由一群有智慧、善傳遞信息的對象組成,富有“人性” 擬人化、人格化。例:冰箱賦予人性后,就變得主動積極活生生,智能化。在面向對象思維下,分析員、設計師、程序員達到了心心相印的境界。例:“我

16、的一個朋友結婚了”對象模型的通俗理解對象高度擬人化是軟件設計至高無上的方針上海大學 上海大學 設計過程例:“我的一個朋友結婚了”對象模型的通俗理解第二步:分析建模第三步:面向對象詳細設計通用算法設計類及對象設計消息、接口設計子系統(tǒng)、組件設計第四、五步:編程,寫代碼;測試第一步:認識現(xiàn)實世界系統(tǒng)分析上海大學 軟件開發(fā) 軟件開發(fā)是什么?編程本身是一種個體的、富靈感的、邏輯性強的活動,但現(xiàn)代的軟件開發(fā)更是一種群體的工程活動。 1)教學觀2)工程觀3)藝術/工藝觀。開發(fā)人員的主要動作是: 理解問題空間,并設想出技術上可行的方案來解決問題; 把頭腦中的“內部”過程用可執(zhí)行的計算機語言表達出來; 留下必要

17、的工作標記(marker)以支持首要目標(項目組內的交流)和次要目標(傳遞這次開發(fā)的設計思想)。設計方法:面向對象的程序設計。中心任務:設計類。上海大學 第一章 面向對象編程1.1.1 面向過程的編程自頂向下,函數(shù)層層調用.基本概念:函數(shù)子程序.Main()BuildChassis()BuildEngine()Assemble()Inspect1000行指令2000行指令500行指令n行指令strcpydoDataInData面向過程的編程-結構化編程優(yōu)點:過程的結構化編程、層次化。復雜的過程分解為簡單的、有效的分析方法。代碼運行高效。go to 指令是害群之馬缺點:函數(shù)沒有進行分類或抽象,大

18、系統(tǒng)將難于駕馭。上海大學 關聯(lián)式編程優(yōu)點:數(shù)據(jù)的標準化程序設計(數(shù)學模型的嚴格支持),于是有了廣泛使用的數(shù)據(jù)庫缺點:只限于數(shù)據(jù)的存儲讀寫訪問上海大學 1.1.2面向對象的編程結構化、關聯(lián)式概念對軟件設計貢獻巨大。但是:結構化只限于函數(shù)(過程)、關聯(lián)式只限于數(shù)據(jù),各自為政,缺乏整合。面向對象的編程數(shù)據(jù)與相關函數(shù)整合起來,高效組織軟件,降低軟件的復雜度、提高軟件的復用性。一種試圖摹仿現(xiàn)實世界類型的程序設計方法(通過類的設計)程序設計過程是對現(xiàn)實世界的抽象過程。抽象百科名片:抽象是從眾多的事物中抽取出共同的、本質性的特征,而舍棄其非本質的特征。例如蘋果、香蕉、生梨、葡萄、桃子等,它們共同的特性就是水

19、果。得出水果概念的過程,就是一個抽象的過程。程序設計的過程首先是一個抽象的過程。類是對象的集合體。類描述了一組有相同特性(數(shù)據(jù)元素)和相同行為(函數(shù))的對象。上海大學 上海大學 1.2 類與抽象數(shù)據(jù)類型如何發(fā)現(xiàn)對象,抽象出概念(類型)?在我們日常詞匯中的幾乎每一個名詞都表示一類對象,具有一組屬性或行為特征 ,它是對現(xiàn)實世界的概括、分類和抽象。一個類是一種數(shù)據(jù)類型,是面向對象語言的基本模塊。對象(變量)是類(數(shù)據(jù)類型)的實例。如何發(fā)現(xiàn)對象,抽象出概念(類型)?例:淚水問花花不語,亂紅飛過秋千去上海大學 女主角對象流淚Cry()問Ask()花對象語Say()飛Fly()秋千對象擺蕩Swing()上海大學 1.1.3 對象關系模型has a: 組合,包含;is a:實例,繼承;like a: 接口,抽象1.3對象的行為模型客戶/服務模式服務器:類和對象客戶:使用類和對象的模塊(函數(shù)、類)客戶通過請求服務而完成其任務,具體如何實現(xiàn)的底層細節(jié)不必關心。運行方式:1)調用式:客戶調用服務器函數(shù)。2)事件驅動(消息傳遞):客戶訂閱/連接服務器定義的事件。上海大學 1.5.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論