1.類和對象
瞭解面向過程和麪向對象的思想
吃貨聯盟訂餐系統:簡化版的面向過程思想
面向過程:面向方法、面向函數、結構化方法。
代碼是有順序的,需要什麼功能就編寫什麼功能,我們前期的語法階段將吃貨聯盟的代碼全部都放在main裏面,但是學完方法以後就會把吃貨聯盟稍微用正式的面向過程改造一下。
面向對象OOP:它是基於面向過程產生的一種更復雜的編程思想\編程方式。從現實世界抽象而來的!執行順序不固定。
Java是不完全的面向對象,因爲裏面有基本數據類型摻雜在裏面。
像Python面向對象、C#面向對象、C++面向對象、PHP依然是面想對象的編程語言。
2.理解類和對象的關係
生活中的對象
萬物皆對象:你身邊的任何一個物體/生命形式都可以稱之爲對象
我們在描述生活中的一個個對象的時候,通常都會採用特徵+行爲的方式。
特徵:屬性。
行爲:操作。
對象的概念:用來描述事物的一個個體,有一組屬性和方法構成。
生活中的類
我們看到一個物體的時候會下意識的給他們進行分類(人類認識事物必然經過的過程)。有一句名言:”物以類聚人以羣分“。
類別:它是一個抽象的概念,他是從一羣對象中抽取共性的特徵和行爲產生的一個概念。沒有辦法具體拿某個對象來表示某個類別,因爲對象只是類的一個個體。
生活中類和對象的關係:類是一個模板,對象是類的一個個體
程序中的類和對象
Java是一個“不完全”的面向對象的編程語言。(因爲有基本類型的存在)
它是以類(引用數據類型)爲基本單位,被class修飾的。
基本數據類型:byte short int long char boolean double float
引用數據類型:數組、類(前面學到的String就是一個類)、接口、枚舉…
程序中的類和對象都是從生活中抽象而成的,你在現實生活中如何描述它們,程序中也是。
3.掌握類創建的方式
public class 類名{
// 1.此類相關屬性(成員變量/字段)
// 2.此類的相關方法(成員方法/函數)
}
定義學生類:
public class Student{
// 相關屬性
public String stuName;// 姓名
public int stuNo;//學號
public String classId;//班級
public String major;//專業
public char gender;//性別
public void study(){
system.out.print("姓名"+stuName+"\n學號"+stuNo+"\n班級"+classId+"\n專業"+major+"\n性別"+gender);
}
}
4.掌握對象創建的方式
語法 :類名 對象名 = new 類名();
Student student = new Student();
調用屬性:
對象名.屬性名 = xxx; // 賦值
對象名.屬性名
調用方法:
對象名.方法名();
public static void main(String[] args){
// 根據類模板產生對象
// 創建對象(對象名的命名規範和變量名一致)
Student student = new Student();
// 操作/調用屬性
student.stuName = "羅漢三";
student.stuNo = 123456654321;
student.classId = "五年級四班";
// 操作/調用方法
student.study();
}
5.掌握基本方法創建
面向過程/方法/函數,結構化方法
方法:是功能,是一系列代碼的聚合,也可以理解爲一個魔術箱。
基本語法:
訪問修飾符 返回值類型 方法名(參數列表){ // 方法聲明
// 方法體
}
// Arrays.toString(參數);將數組轉換爲字符串
public void(表示沒有返回值) showMyself(){
System.out.println();
}
功能代碼的存儲空間,以後可以使用複用;極爲方便!
小作業
定義一個計算器類,可以用來計算兩個數的4則(+ - * /)運算(採用面向過程)
類不一定非要寫成員屬性、也不一定非要寫成員方法,是根據需求來決定的,但是它的完整組成是一組屬性和方法。
定義+法方法
定義-法方法
定義*法方法
定義/法方法
注意:除數不能爲0
附加功能:計算某個數的n次方