面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)課程介紹計(jì)算中心 張巖峰(/cc/zhangyf)1程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言。2程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言。匯編語(yǔ)言將機(jī)器指令映射為一些可以被人讀懂的助記符,如 ADD 、SUB。3程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言。匯編語(yǔ)言將機(jī)器指令映射為一些可以被人讀懂的助記符,如 ADD 、SUB。高級(jí)語(yǔ)言屏蔽了機(jī)器的細(xì)節(jié),采用具有一定含義的數(shù)據(jù)命名和容易理解的執(zhí)行語(yǔ)句。4程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言。匯編語(yǔ)言將機(jī)

2、器指令映射為一些可以被人讀懂的助記符,如 ADD 、SUB。高級(jí)語(yǔ)言屏蔽了機(jī)器的細(xì)節(jié),采用具有一定含義的數(shù)據(jù)命名和容易理解的執(zhí)行語(yǔ)句。面向?qū)ο蟮恼Z(yǔ)言將客觀事物看作一個(gè)具有屬性和行為的對(duì)象,通過抽象同一類對(duì)象的共同屬性和行為,形成類。5面向?qū)ο蟮姆椒ńY(jié)構(gòu)化程序設(shè)計(jì)方法 設(shè)計(jì)的基本原則是自上而下、逐步求精。 按照程序所需實(shí)現(xiàn)的功能,將其劃分為若干個(gè)關(guān)系簡(jiǎn)單、相對(duì)獨(dú)立的模塊; 每一個(gè)模塊內(nèi)部都是由三種基本的程序結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)組成。優(yōu)點(diǎn)分解程序設(shè)計(jì)的復(fù)雜性缺點(diǎn)命名難以控制程序不便于開發(fā)、維護(hù)程序難以擴(kuò)展6面向?qū)ο蟮姆椒嫦驅(qū)ο蠓椒?將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法放在一起,作為一個(gè)相互依存、

3、不可分離的整體對(duì)象。同類對(duì)象的共性形成類,類通過統(tǒng)一的外部接口與外界發(fā)生關(guān)系.對(duì)象與對(duì)象之間通過消息進(jìn)行通信。7五子棋程序面向過程mainwhile(true)黑棋下子;繪制畫面;白棋下子;繪制畫面;if(勝負(fù)已分)輸出結(jié)果;面向?qū)ο髆ain選手A = new 選手;選手B = new 選手;棋盤界面 = new 棋盤;五子棋規(guī)則 = new 規(guī)則;while(true)選手A.下子;棋盤界面.繪制;選手B.下子;棋盤界面.繪制;if(五子棋規(guī)則.判斷勝負(fù))輸出結(jié)果;class 選手 選手名字; 下子()class 棋盤 棋盤規(guī)格; 繪制()class 規(guī)則 規(guī)則名字; 判斷勝負(fù)()8思考面向

4、過程和面向?qū)ο蟪绦虻膬?yōu)缺點(diǎn)?9五子棋程序面向過程mainwhile(true)黑棋下子;繪制畫面;白棋下子;繪制畫面;if(勝負(fù)已分)輸出結(jié)果;面向?qū)ο髆ain選手A = new 選手;選手B = new 選手;棋盤界面 = new 棋盤;五子棋規(guī)則 = new 規(guī)則;while(true)選手A.下子;棋盤界面.繪制;選手B.下子;棋盤界面.繪制;if(五子棋規(guī)則.判斷勝負(fù))輸出結(jié)果;class 選手 選手名字; 下子()class 棋盤 棋盤規(guī)格; 繪制()class 規(guī)則 規(guī)則名字; 判斷勝負(fù)()class 新選手 extends 選手 選手IQ; 選手頭像; 選手裝備;10五子棋程序面

5、向過程mainwhile(true)黑棋下子;繪制畫面;白棋下子;繪制畫面;if(勝負(fù)已分)輸出結(jié)果;面向?qū)ο髆ain選手A = new 選手;選手B = new 選手;棋盤界面 = new 棋盤;五子棋規(guī)則 = new 規(guī)則;while(true)選手A.下子;棋盤界面.繪制;選手B.下子;棋盤界面.繪制;if(五子棋規(guī)則.判斷勝負(fù))輸出結(jié)果;class 選手 選手名字; 下子()class 棋盤 棋盤規(guī)格; 繪制()class 規(guī)則 規(guī)則名字; 判斷勝負(fù)()class 新選手 extends 選手 選手IQ; 選手頭像; 選手裝備;class 象棋選手 extends 新選手 下子();

6、悔棋(); 特殊技能之連走兩步();11class 棋盤 棋盤規(guī)格; 繪制()class 選手 選手名字; 下子()class 規(guī)則 規(guī)則名字; 判斷勝負(fù)()12面向?qū)ο蟮姆椒ㄊ钩绦騿T更好的理解和管理龐大而復(fù)雜的程序,它在結(jié)構(gòu)化程序設(shè)計(jì)的基礎(chǔ)上完成進(jìn)一步的抽象。這種在設(shè)計(jì)方法上更高層次的抽象正是為了適應(yīng)目前軟件開發(fā)的特點(diǎn)。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法絕非是要摒棄現(xiàn)有的結(jié)構(gòu)化程序設(shè)計(jì)方法,相反,它是在充分吸收結(jié)構(gòu)化程序設(shè)計(jì)優(yōu)點(diǎn)的基礎(chǔ)上,引進(jìn)了一些新的、強(qiáng)有力的概念。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法把可重復(fù)使用性視為軟件開發(fā)的中心問題,通過裝配可重用的部件來生產(chǎn)軟件,而不是像目前編程所用的那樣,通過調(diào)用函數(shù)庫(kù)中

7、的函數(shù)來實(shí)現(xiàn)。事實(shí)上,在對(duì)象內(nèi)部的實(shí)現(xiàn)上,我們也常常調(diào)用函數(shù)庫(kù)中的很多有用的函數(shù),然而從程序的總體結(jié)構(gòu)上說,它是由一系列對(duì)象構(gòu)成的,對(duì)象之間能夠以某種方式進(jìn)行通信和協(xié)作,從而實(shí)現(xiàn)程序的具體功能。1314面向?qū)ο笤O(shè)計(jì)的特征利用對(duì)象進(jìn)行抽象基于對(duì)象和對(duì)象間的相互作用,面向?qū)ο蠹夹g(shù)對(duì)真實(shí)世界進(jìn)行抽象。對(duì)象具有生命周期每一個(gè)對(duì)象都是獨(dú)一無二的,都有創(chuàng)建、生存、銷毀的過程。對(duì)象通過消息進(jìn)行通信對(duì)象可以與其他對(duì)象相互操作。15面向?qū)ο笤O(shè)計(jì)的特征封裝良好的類對(duì)外部隱藏所有實(shí)現(xiàn)的細(xì)節(jié),便于修改和替換對(duì)象所屬的類具有層次結(jié)構(gòu)關(guān)聯(lián)聚合或組合繼承多態(tài)性多態(tài)性是面向?qū)ο笙到y(tǒng)最終表現(xiàn)出來的基本特征,即同樣的語(yǔ)句產(chǎn)生不同

8、的行為。16面向?qū)ο蟮恼Z(yǔ)言Smalltalk這是第一種成功的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,也是Java的基礎(chǔ)語(yǔ)言。C+C+是C的超集,設(shè)計(jì)于80年代,增加了面相對(duì)象的概念。優(yōu)點(diǎn):數(shù)據(jù)抽象和封裝,豐富的內(nèi)置函數(shù)庫(kù);缺點(diǎn):除包含C語(yǔ)言的缺點(diǎn)外,程序過于復(fù)雜而容易出錯(cuò);Java90年代開始廣泛使用的網(wǎng)絡(luò)編程語(yǔ)言;Smalltalk的思想,C+語(yǔ)法的簡(jiǎn)化。17編程語(yǔ)言使用率排行榜18JAVA語(yǔ)言與其它語(yǔ)言的關(guān)系相比較于C+高可移植性Windows、MacOS、UNIX等平臺(tái)豐富的支持類庫(kù),易擴(kuò)展Web編程、企業(yè)計(jì)算、嵌入計(jì)算自動(dòng)內(nèi)存管理調(diào)試更簡(jiǎn)單與其它語(yǔ)言互為補(bǔ)充C語(yǔ)言(底層,速度快)Python、Ruby、

9、Perl、PHP(腳本語(yǔ)言,簡(jiǎn)單)MatLab、R(數(shù)據(jù)分析語(yǔ)言,數(shù)學(xué)分析計(jì)算功能強(qiáng)大)SQL(數(shù)據(jù)庫(kù)管理語(yǔ)言,數(shù)據(jù)管理的增刪改查)19教學(xué)內(nèi)容Java語(yǔ)言基礎(chǔ)數(shù)組與方法類和對(duì)象文件操作圖像界面swt多線程編程/網(wǎng)絡(luò)編程連接數(shù)據(jù)庫(kù)Hadoop MapReduce分布式編程(optional)20課程表理論課時(shí)間:1-19周周一 1-2節(jié)地點(diǎn):采礦館203實(shí)驗(yàn)課時(shí)間:4-19周周一 5-6節(jié)地點(diǎn):計(jì)算中心微機(jī)?室21教學(xué)模式理論講授(20%)實(shí)例演示(20%)討論思考(10%+?%)上機(jī)實(shí)踐(50%+?%)22考核方法平時(shí)成績(jī)20%三次作業(yè)30%課程設(shè)計(jì)(考試)50%23強(qiáng)調(diào)問題曠課、遲到、早退不及時(shí)交作業(yè)上課違紀(jì)3次作業(yè)抄襲、課程設(shè)計(jì)抄襲上課可以帶筆記本電腦24參考書推薦25MOOCMOOC(Massive Open Online Course)學(xué)堂在線 / 慕課中國(guó) / 遼寧省資源共享課 / 翁愷,用Java學(xué)編程/course/introduction.htm?courseId=5330

溫馨提示

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

評(píng)論

0/150

提交評(píng)論