1. 程式人生 > >java基礎入門——類

java基礎入門——類

                                                                                                        關於java中的類

                                                                                                

              前言:Java是一門完全面向物件的程式語言,類和物件是面向物件程式設計的基礎和核心。面向物件的程式設計思想就是使用人的思維方式來模擬(程式碼)現實生活。

                 正文:關於java中的類,與其他語言的類並沒有太大的差異,但是java語言的類是與生活密切相關的;java中的物件就可以拿我們現實中的東西來與之對應.

1.現實生活中有哪些是物件?

物件:在現實生活中只要是一個具體的物體或者一個具體的事物就是一個物件。
你所看到的任何一個物體,你所想的任何一個物體都是一個物件。


舉例:某一個滑鼠、某一臺手機、某一個人、...


你會從哪些方面去描述物件,分別有些什麼內容?
某一臺手機
特徵:形狀、顏色、價格、電量、品牌、系統、執行記憶體、CPU、GPU、...
功能:播放音樂、播放視訊、運行遊戲、打電話、發簡訊、...


某一個人
特徵:身高、外貌、年齡、職業、性別、體重、籍貫、學校、愛好、性格、姓名、...
行為:吃飯、睡覺、寫字、讀書、打遊戲、唱歌、游泳、...   

 2.類的組成

現實生活中是怎樣對物件進行分類的呢?
根據物件相似的特徵和相似的行為進行分類;生活中的類是抽象的。


程式中的類是怎樣的呢?
程式中的類是對現實生活中物件的特徵和行為(功能),按照程式中類固定格式進行的抽象定義。
程式中的類是由兩個部分組成:1.屬性   2.方法
屬性是根據物件的特徵進行定義的:
方法是根據物件的功能(行為)進行定義的。


3.類的基本格式
public class 類名 {


//定義屬性
public 資料型別  屬性名;


//定義方法
public 返回值資料型別  方法名(資料型別 引數名,...){
//方法體
}


}
注意:Java中類是最基本的單位,也是模板,如果你要使用類中的屬性和方法,不能使用類名去呼叫。




4.例項化物件和呼叫屬性方法的格式
例項化物件的關鍵字:new
格式:
類名 物件名 = new 類名();


呼叫物件的屬性和方法的格式
物件名.屬性名
物件名.方法名(引數值,...);

5.場景:張三在學習Java課程中,學完該課程後,張三的學分要增加3分。
1.找出場景中的物件以及物件的特徵和行為:
張三
特徵:學分、姓名
行為:學習(Java課程)


Java課程
特徵:學分、名字、課時

2.根據物件的特徵和行為,按照程式中類的固定格式進行物件的抽象定義:
上述的有二個物件,那麼需要定義2個類
把張三抽象定義為Student學生類
把java課程抽象定義為Subject課程類


3.定義主函式的類,在主函式中例項化物件呼叫屬性和方法。
4.程式碼如下:

                            a.//定義Subject課程類
                                               public class Subject {


                                                                                  //定義屬性
                                                                                 public int score;//學分屬性


                                                                                 public String name;//姓名屬性

                                                                                public int time;//課時屬性


                                                                                                                                              }

                          b.public class Student {


                                                                  public String name;//姓名屬性


                                                                  public int score;//學分屬性


                                                                  //定義學生學習課程的方法
                                                                 public void study(Subject  sub){
                                                          sub.time--;//課程的課時減少
                                                         System.out.println(name+"正在學習"+sub.name+"課程,"+sub.name+"剩餘的課時是"+sub.time);
                                                         if(sub.time<=0){//判斷課程是否學完
                                                  score += sub.score;
                                                 System.out.println(name+"已經學完了"+sub.name+"課程,"+name+"現在的學分是"+score);
                                                                                                                                            }
                                                                                                                               }


                                                                                                                              }

                       c.//定義Manager類
                                                       public class Manager {


                                                        //定義程式的入口主函式
                                                         public static void main(String [] args){


                                                 //例項化Subject課程類的物件
                                                 Subject sub = new Subject();
                                                 //設定物件的屬性值
                                                 sub.name = "java";
                                                  sub.time = 10;
                                                  sub.score = 3;


                                                 //例項化Student學生類的物件
                                                Student stu = new Student();
                                                //設定物件的屬性值
                                                 stu.name = "張三";
                                                  stu.score = 0;


                                                  while(sub.time>0){
                                          //讓學生學習課程
                                          stu.study(sub);
                                                                                               }


                                                                                         }


                                                                                  }

6.練習
1.回合制對戰遊戲場景:奧特曼和小怪獸進行PK,直到一方的血量為0時結束戰鬥,輸出誰勝利了。
1.找出場景中的物件以及物件的特徵和行為:


2.根據物件的特徵和行為,按照程式中類的固定格式進行物件的抽象定義:

這個留給大家做作業,做出來的可以在下方留言哦!!

郵箱:[email protected]

其他部落格的連結:

Github個人網站      知乎      簡書

歡迎各位訪問哦,這次就到這裡啦!