資源描述:
《《JAVA實例講解》PPT課件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第2章面向?qū)ο蟪绦蛟O計面向?qū)ο蟪绦蛟O計方法面向?qū)ο蟮某绦蛟O計是當今主流的程序設計方法。尤其適于大型軟件的開發(fā)。面向?qū)ο蟮某绦蛟O計過程類和對象的概念類和對象是面向?qū)ο蟮某绦蛟O計中最重要的概念。對象是一切可以感知的事物和概念。類是具有共同特征的對象的抽象。程序設計中的對象對象是屬性以及相關操作的集合體。例如,圓是一個對象。圓的半徑、面積、周長等是屬性。計算圓的面積、計算圓的周長是操作。對象的屬性與操作可能有很多,我們只關注當前對我們有用的那些。類和對象的概念用類來描述抽象數(shù)據(jù)類型(ADT)publicclassstudentInfo{StringstudentName;
2、//保存姓名intage;//保存年齡floatmathScore;//保存數(shù)學成績floatphyScore;//保存物理成績floatliteScore;//保存語文成績floatcsScore;//保存計算機成績floatcredit;//保存已獲學分}為各個數(shù)據(jù)成員賦值就是建立對象學生對象示例張平207884908635李立群208385909136王睿218190847635面向?qū)ο蟮闹匾卣髅嫦驅(qū)ο蟮闹匾匦允欠庋b、繼承和多態(tài)。封裝數(shù)據(jù)和操作的統(tǒng)一,方便數(shù)據(jù)管理;有限的對外接口,保護敏感數(shù)據(jù)。面向?qū)ο蟮闹匾卣髅嫦驅(qū)ο蟮闹匾匦允欠庋b、繼承和多態(tài)。繼承子
3、類繼承父類的共性;子類可以具有自己獨有的特性;繼承關系具有傳遞性。面向?qū)ο蟮闹匾卣髅嫦驅(qū)ο蟮闹匾匦允欠庋b、繼承和多態(tài)。多態(tài)不同類中的同名方法;同一類中同名但參數(shù)列表不同的方法;最重要的:程序運行時,動態(tài)地決定引用類型(父類還是子類)。第5章類與對象方法的定義方法:是具有相對獨立功能的程序段。無參方法的定義編程序打印如下圖形。Thefirstone:**********Thesecondone:**********首先,編寫一個只有main方法的程序?qū)崿F(xiàn)上述功能。publicclassHello{publicstaticvoidmain(String[]args)
4、{inti,j;System.out.println("Thefirstone:");for(i=1;i<=4;i++){for(j=1;j<=i;j++)System.out.print("*");System.out.println();}System.out.println("Thesecondone:");for(i=1;i<=4;i++){for(j=1;j<=i;j++)System.out.print("*");System.out.println();}}}在該程序中,打印一個三角形的程序段重復了兩次,但是并不能簡單地將它們合并為一個循環(huán)。因此,可以
5、將打印三角形的程序段單獨拿出來,定義為一個方法,然后在main方法中調(diào)用它。為了得到打印三角形的方法,只需以相應的程序段作為方法體,并添加方法頭即可。staticvoidprintStar(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)System.out.print("*");System.out.println();}return;}無參方法的調(diào)用用戶定義了方法之后,就可以像調(diào)用類庫方法那樣調(diào)用它。無參方法的調(diào)用格式:方法名()publicclassHello{publicstaticvoidmain(String[]a
6、rgs){System.out.println("Thefirstone:");printStar();System.out.println("Thesecondone:");printStar();}staticvoidprintStar(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)System.out.print("*");System.out.println();}return;}}有參方法的定義和調(diào)用首先來看一個實例?!纠恳阎猰、n是正整數(shù),編寫程序求m中取n的組合數(shù)。問題分析:首先,我們編寫一個只有main方法
7、的程序來實現(xiàn)上述功能。importjava.util.*;publicclassHello{publicstaticvoidmain(String[]args){intm,n,i,k;longp,c,c1,c2,c3;System.out.println("請輸入m與n的值:");Scannersc=newScanner(System.in);m=sc.nextInt();n=sc.nextInt();k=m;p=1;for(i=1;i<=k;i++)p=p*i;c1=p;k=n;p=1;for(i=1;i<=k;i++)p=p*i;c2=p;k=m-n;p=1