精華筆記: 什麼是類?什麼是對象? 現實生活中是由很多很多對象組成的,基於對象抽出了類 對象:軟體中真實存在的單個個體/東西 類:類型/類別,代表一類個體 類是對象的模板/模子,對象是類的具體的實例 類中可以包含: 對象的屬性/特征 成員變數 對象的行為/動作/功能 方法 一個類可以創建多個對象 如 ...
精華筆記:
-
什麼是類?什麼是對象?
-
現實生活中是由很多很多對象組成的,基於對象抽出了類
-
對象:軟體中真實存在的單個個體/東西
類:類型/類別,代表一類個體
-
類是對象的模板/模子,對象是類的具體的實例
-
類中可以包含:
- 對象的屬性/特征-----------------------------成員變數
- 對象的行為/動作/功能----------------------方法
-
一個類可以創建多個對象
-
-
如何創建類?如何創建對象?如何訪問成員?
-
方法的簽名:方法名+參數列表
-
方法的重載(overload/overloading):-------------------------------方便用戶的調用
- 發生在同一類中,方法名相同,參數列表不同
- 編譯器在編譯時會根據方法的簽名自動綁定方法
筆記:
-
什麼是類?什麼是對象?
-
現實生活中是由很多很多對象組成的,基於對象抽出了類
-
對象:軟體中真實存在的單個個體/東西
類:類型/類別,代表一類個體
-
類是對象的模板/模子,對象是類的具體的實例
-
類中可以包含:
- 對象的屬性/特征-----------------------------成員變數
- 對象的行為/動作/功能----------------------方法
-
一個類可以創建多個對象
-
-
如何創建類?如何創建對象?如何訪問成員?
package ooday01; //學生類 public class Student { //成員變數----對象的屬性 String name; int age; String address; //方法-----對象的行為/功能 void study(){ System.out.println(name+"在學習..."); } void sayHi(){ System.out.println("大家好,我叫"+name+",今年"+age+"歲了,家住"+address); } } package ooday01; //學生類的測試類 public class StudentTest { public static void main(String[] args) { //創建一個學生對象 Student zs = new Student(); //給成員變數賦值 zs.name = "zhangsan"; zs.age = 18; zs.address = "河北廊坊"; //調用方法 zs.study(); zs.sayHi(); Student ls = new Student(); ls.name = "lisi"; ls.age = 25; ls.address = "黑龍江佳木斯"; ls.study(); ls.sayHi(); //1)創建了一個學生對象 //2)給所有成員變數賦預設值 Student ww = new Student(); ww.study(); ww.sayHi(); } }
-
方法的簽名:方法名+參數列表
-
方法的重載(overload/overloading):-------------------------------方便用戶的調用
-
發生在同一類中,方法名相同,參數列表不同
public class Aoo{ void show(){} void show(String name){} void show(int age){} void show(String name,int age){} void show(int age,String name){} //int show(){ return 1; } //編譯錯誤,重載與返回值類型無關 //void show(String address){} //編譯錯誤,重載與參數名稱無關 }
-
編譯器在編譯時會根據方法的簽名自動綁定方法
public class OverloadDemo { public static void main(String[] args) { Aoo o = new Aoo(); o.show(); o.show("zhangsan"); o.show(25); o.show("zhangsan",25); o.show(25,"zhangsan"); } }
-
補充:
-
OO:面向對象
OOA:面向對象分析
OOD:面向對象設計
OOP:面向對象編程--------------------------你們以後所參與的
-
高質量的代碼:------------------------想拿年薪
- 復用性好、擴展性好、維護性好、移植性好、健壯性好、可讀性好、效率好......
-
類:是一種引用數據類型,是我們自己創造的一種數據類型
-
引用 數據類型 引用類型變數 指向 對象 Student zs = new Student(); //讀作:聲明一個Student類型的引用zs,指向了一個學生對象
-
預設值:
byte,short,int,long,char-----------------0 float,double-----------------------------0.0 boolean----------------------------------false 引用類型----------------------------------null
-
潛艇游戲需求:
-
所參與的角色:戰艦、炸彈、偵察潛艇、魚雷潛艇、水雷潛艇、水雷
-
角色間的關係:
-
戰艦發射炸彈
-
炸彈打潛艇(偵察潛艇、魚雷潛艇、水雷潛艇),若打中了:
-
潛艇消失、炸彈消失
-
若打中的是偵察潛艇,則玩家得10分
若打中的是魚雷潛艇,則玩家得40分
若打中的是水雷潛艇,則戰艦增1條命
-
-
水雷潛艇發射水雷
-
水雷打戰艦,若打中了:
- 水雷消失
- 戰艦減1條命(命數為0時游戲結束)
-
-