《信息系統(tǒng)開發(fā)》系統(tǒng)分析與設計概述演示文檔
《《信息系統(tǒng)開發(fā)》系統(tǒng)分析與設計概述演示文檔》由會員分享,可在線閱讀,更多相關《《信息系統(tǒng)開發(fā)》系統(tǒng)分析與設計概述演示文檔(126頁珍藏版)》請在裝配圖網(wǎng)上搜索。
本章目標,掌握類和對象 理解封裝 會創(chuàng)建和使用對象,1/39,萬物皆對象,世界是由什么組成的?,分類是人們認識世界的一個很自然的過程,在日常生活中會不自覺地進行分類,2/39,身邊的對象,張浩,李明,收銀員 員工號—10001 姓名—李明 部門—財務部 操作: 收款 打印賬單,顧客 姓名—張浩 年齡—20 體重—60kg 操作: 購買商品,3/40,3/39,,,對象的特征——屬性,屬性——對象具有的各種特征 每個對象的每個屬性都擁有特定值 例如:張浩和李明的年齡、姓名不一樣,20歲,張浩,,,,,屬性,60kg,顧客張浩,4/39,對象的特征——方法,方法——對象執(zhí)行的操作 對象:用來描述客觀事物的一個實體,由一組屬性和方法構成,打印賬單,,,,,,,方法,刷卡,收銀員李明,5/40,收銀,5/39,對象的屬性和方法,列出尼古拉斯·凱奇駕駛的這輛法拉利F360 Spider的屬性和方法 列出小狗對象的屬性和方法,屬性: 品牌:法拉利 型號:F360 Spider 顏色:黃色 價格:380萬元 方法: 發(fā)動 停止 加速,屬性: 顏色:白色 方法: 叫 跑 吃,6/40,提問,6/39,封裝,對象同時具有屬性和方法兩項特性 對象的屬性和方法通常被封裝在一起,共同體現(xiàn)事物的特性, 二者相輔相承,不能分割,一輛汽車,有完好的零件和特定的顏色 還應具備開動、剎車等方法行為,,7/39,小結,說一說教室里的對象 描述他們的屬性和方法,,顏色:黑色 品牌:BENQ 投影,姓名:張三 年齡:20 學習,類型:白熾燈 開 關 變亮 變暗,材制: 木質 支撐物品,提問,,,,,8/40,8/39,從對象抽象出“類”,轎車,抽取出下列對象的共同特征(屬性和方法),問題,顧客,9/39,類,顧客類 轎車類 …… ……,,類是模子,定義對象將會擁有的特征(屬性)和行為(方法),類是對象的類型 不同于int類型:具有方法,各種口味的球狀冰淇淋,10/40,10/39,類和對象的關系,類是抽象的概念,僅僅是模板 比如說:“人” 對象是一個你能夠看得到、摸得著的具體實體,小布什,普京,克林頓,……,,,11/39,Java 是面向對象的語言,所有Java程序都以類class為組織單元 關鍵字class定義自定義的數(shù)據(jù)類型,public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!!!"); } },,12/40,類的基本框架,,12/39,Java類模板,類將現(xiàn)實世界中的概念模擬到計算機程序中,public class 類名 { //定義屬性部分 屬性1的類型 屬性1; 屬性2的類型 屬性2; … 屬性n的類型 屬性n; //定義方法部分 方法1; 方法2; … 方法m; },語法,13/39,定義類,定義一個類的步驟,14/39,public class School { //定義屬性 String schoolName; //學校名稱 int classNumber; //教室數(shù)目 int labNumber; //機房數(shù)目 //定義方法 public void showSchool(){ System.out.println(schoolName + classNumber + labNumber ); } },15/39,如何創(chuàng)建和使用對象,使用對象的步驟 創(chuàng)建對象 類名 對象名 = new 類名(); 引用對象成員:使用“.”進行以下操作 引用類的屬性:對象名.屬性 引用類的方法:對象名.方法名(),School mySchool = new School();,mySchool.name = “西南交大"; //給name屬性賦值 mySchool.showSchool(); //調用showCenter()方法,語法,語法,16/39,創(chuàng)建和使用對象示例,,一個景區(qū)根據(jù)游人的年齡收取不同價格的門票。請編寫游人類,根據(jù)年齡段決定能夠購買的門票價格并輸出,問題,分析,17/40,17/39,創(chuàng)建和使用對象示例,18/39,19/39,創(chuàng)建和使用對象示例,小結,類和對象的關系? 如何創(chuàng)建和使用對象?,提問,經驗,利用MyEclipse自動提示功能,20/39,面向對象(OO)的優(yōu)點,21/39,總結,對象是用來描述客觀事物的一個實體 類定義了對象將會擁有的特征(屬性)和行為(方法) 類是對象的類型,對象是類的實例 使用類的步驟,22/39,本章目標,會定義和使用類的方法 理解變量作用域 會添加JavaDoc注釋,23/38,類的方法,寫出獅子對象的“跑”方法、 “叫”方法,電動玩具獅子 屬性: 顏色:黃色 行為: 跑 叫,按此按鈕, 獅子開始叫,按此按鈕, 獅子開始跑,問題,24/38,類的方法示例,AutoLion類代碼實現(xiàn),public class AutoLion { String color = "黃色"; public void run() { System.out.println("正在以0.1米/秒的速度向前奔跑"); } public String bark() { String sound = "大聲吼叫" ; return sound; } },方法體,返回值類型,,,,,,,方法名稱,示例,25/38,如何定義類的方法,類的方法定義類的某種行為(或功能),定義類的方法,public 返回值類型 方法名() { //這里編寫方法的主體 },步驟一:定義方法名以及返回值類型,步驟二:編寫方法體,語法,26/38,方法的返回值,兩種情況 如果方法具有返回值,方法中必須使用關鍵字return返回該值,返回值類型為該返回值的類型 如果方法沒有返回值,返回值類型為void,public class Student{ String name = "張三"; public String getName(){ return name; } //…… },,,return 表達式;,作用: 跳出方法、返回結果,語法,27/38,public class Student{ String name = "張三"; public void getName(){ } //…… },方法調用,方法是個“黑匣子”,完成某個特定的應用程序功能,并返回結果 方法調用:執(zhí)行方法中包含的語句,對象名.方法名();,小明過生日,爸爸送他一個電動獅子玩具,編程測試這個獅子能否正常工作,語法,問題,28/38,方法調用,,public class AutoLion { String color = "黃色"; //顏色 /*跑*/ public void run(){ System.out.println("正在以0.1米/秒的速度向前奔跑。"); } /*叫*/ public String bark(){ String sound = "大聲吼叫" ; return sound; } /*獲得顏色*/ public String getColor(){ return color; } /*顯示獅子特性*/ public String showLion(){ return "這是一個" + getColor() + "的玩具獅子!"; } },public class TestLion { public static void main(String[ ] args) { AutoLion lion = new AutoLion(); System.out.println(lion.showLion()); lion.run(); System.out.println(lion.bark()); } },在類的方法中調用 該類另一個方法,,,,,在main()方法中 調用類的方法,29/38,方法調用小結,方法之間允許相互調用,不需要知道方法的具體實現(xiàn),實現(xiàn)重用,提高效率,30/38,public class Student1 { public void showInfo() { return "我是一名學生"; } },方法的返回值類型為void,方法中不能有return 返回值!,,常見錯誤4-1,,代碼閱讀,31/38,注意,public class Student2 { public double getInfo() { double weight = 95.5; double height = 1.69; return weight, height; } },方法不能返回多個值!,,常見錯誤4-2,代碼閱讀,32/38,注意,public class Student3 { public String showInfo() { return "我是一名學生"; public double getInfo() { double weight = 95.5; double height = 1.69; return weight; } } },多個方法不能相互嵌套定義!,,常見錯誤4-3,public class Student3 { public String showInfo() { return "我是一名學生"; } public double getInfo() { double weight = 95.5; double height = 1.69; return weight; } },,代碼閱讀,33/38,注意,public class Student4 { int age = 20; if(age < 20) { System.out.println("年齡不符合入學要求!"); } public void showInfo() { return "我是一名學生"; } },不能在方法外部直接寫程序邏輯代碼!,常見錯誤4-4,,代碼閱讀,34/38,注意,本章目標,會定義和使用類的方法 理解變量作用域 會添加JavaDoc注釋,35/38,成員變量和局部變量2-1,變量聲明的位置決定變量作用域 變量作用域確定可在程序中按變量名訪問該變量的區(qū)域,//… for(int a = 0; a < 4; a++) { System.out.println ("hello" ); } System.out.println ( a ); //…,,代碼錯誤,a的作用域僅在for循環(huán)中,36/38,成員變量和局部變量2-2,誰能使用這些變量?,37/38,,變量1類型 變量1; 變量2類型 變量2; 變量3類型 變量3;,public 返回類型 方法1(){ 變量4類型 變量4; } public 返回類型 方法2(){ 變量5類型 變量5; },public class AutoLion{,},AutoLion類的方法, 其他類的方法,方法1,方法2,成員變量,局部變量,局部變量,問題,成員變量和局部變量的區(qū)別,作用域不同 局部變量的作用域僅限于定義它的方法 成員變量的作用域在整個類內部都是可見的 初始值不同 Java會給成員變量一個初始值 Java不會給局部變量賦予初始值,在同一個類中,成員變量和局部變量同名時,局部變量具有更高的優(yōu)先級,在同一個方法中,不允許有同名局部變量 在不同的方法中,可以有同名局部變量,注意,38/38,public class Test { int score1 = 88; int score2 = 98; public void calcAvg() { int avg = (score1 + score2)/2; } public void showAvg(){ System.out.println("平均分是: " + avg); } },,常見錯誤,局部變量avg的作用域僅限于calcAvg()方法,代碼閱讀,,39/38,注意,public static void main(String[ ] args) { Scanner input = new Scanner(System.in); System.out.print("請輸入Java成績:"); int java = input.nextInt(); //…… /*計算并顯示輸出*/ int total = java + c + db; double avg = total / 3; System.out.print("總成績:" + total); System.out.print("\n平均分: " + avg); },面向對象的編程(OOP),ScoreCalc類 和 Test類,,40/38,如果還要再執(zhí)行這個功能,難道還要重復再寫一遍?,本章目標,會定義和使用類的方法 理解變量作用域 會添加JavaDoc注釋,41/38,JavaDoc注釋,回顧學過的注釋方式 單行注釋://這里是單行注釋 多行注釋:/*這里是多行注釋, 可以多行*/ JavaDoc注釋:使用“/**”開始和“*/”結束,用來注釋類、屬性和方法等,/** * mySchool類 *@author John *@version 1.0 2016/06/21 */,描述信息,@author :描述作者信息,@version :描述版本信息,42/38,添加JavaDoc注釋,為ScoreCalc類添加JavaDoc注釋,/** * ScoreCalc類 * @author 張小明 * @version 2.0 2013/06/01 */ public class ScoreCalc { /** Java成績 */ int java; //... /** * 計算總成績 * @return total */ public int calcTotalScore() { int total = java + c + db; return total; } //... },,,,方法的JavaDoc注釋,屬性的JavaDoc注釋,類的JavaDoc注釋,問題,43/38,如何生成JavaDoc文檔,JavaDoc能夠從源代碼中抽取類、屬性、方法等的注釋,形成一個配套的API幫助文檔 生成JavaDoc文檔 使用命令行方式生成 使用MyEclipse工具生成,44/38,總結,定義類的方法必須包括以下三個部分 方法的名稱 方法返回值的類型 方法的主體 類的方法調用,使用如下兩種形式 同一個類中的方法,直接使用“方法名()”調用 不同類的方法,首先創(chuàng)建對象,再使用 “對象名.方法名()”來調用 在Java中,有成員變量和局部變量,它們的作用域各不相同 JavaDoc注釋以“/**”開頭,以“*/”結尾,45/38,本章目標,會定義帶參方法 會使用帶參方法 會創(chuàng)建包組織Java工程,46/40,為什么要用帶參數(shù)的方法,工作原理,新鮮桃汁,新鮮蘋果汁,新鮮梨汁,輸出三種果汁,47/40,如何使用帶參數(shù)的方法3-1,定義帶參數(shù)的方法 調用帶參數(shù)的方法,,public class ZhazhiJi { public String zhazhi ( String fruit ) { String juice = fruit + "汁"; return juice; } },/*調用zhazhi方法*/ ZhazhiJi myZhazhiji = new ZhazhiJi(); String myFruit = "蘋果"; String myJuice = myZhazhi.zhazhi(myFruit); System.out.println(myJuice);,參數(shù)列表: (數(shù)據(jù)類型 參數(shù)1,數(shù)據(jù)類型 參數(shù)2…),調用方法,傳遞的參數(shù)要與參數(shù)列表一一對應,48/40,如何使用帶參數(shù)的方法3-2,, 返回類型 () { //方法的主體 },該方法允許被訪問調用的權限范圍,方法返回值的類型,public class StudentsBiz { String[ ] names = new String[30]; public void addName(String name) { //增加學生姓名 } public void showNames() { //顯示全部學生姓名 } },傳送給方法的形參列表,一個形式參數(shù),沒有返回值,語法,示例,定義帶參數(shù)的方法,49/40,如何使用帶參數(shù)的方法3-3,,public static void main(String[] args) { StudentsBiz st = new StudentsBiz(); Scanner input = new Scanner(System.in); for(int i=0;i<5;i++){ System.out.print("請輸入學生姓名:"); String newName = input.next(); st.addName(newName); } st.showNames(); },實參的類型、數(shù)量、順序 都要與形參一一對應,先實例化對象, 再使用方法,,調用帶參數(shù)的方法,對象名.方法名(參數(shù)1, 參數(shù)2,……,參數(shù)n),實參列表,語法,示例,50/40,帶多個參數(shù)的方法2-1,設計方法,通過傳遞三個參數(shù)(開始位置、結束位置、查找的姓名)來實現(xiàn),在保存了多個學生姓名的數(shù)組中,指定查找區(qū)間,查找某個學生姓名并顯示是否查找成功,問題,分析,51/40,public boolean searchName (int start,int end,String name) { boolean find = false; // 是否找到標識 // 指定區(qū)間數(shù)組中,查找姓名 for(int i=start-1;i- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 信息系統(tǒng) 開發(fā) 系統(tǒng)分析 設計 概述 演示 文檔
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://m.szxfmmzy.com/p-249536.html