面向物件思想、“大象裝進冰箱”案例、類初步定義
阿新 • • 發佈:2019-02-06
“大象裝進冰箱”案例
1.面向過程怎麼做?
開啟冰箱門;裝進大象;關閉冰箱門。
面向過程:面向著具體的每一個步驟和過程,把每個步驟和過程完成,然後由這些功能方法相互呼叫,完成需求。
2.面向物件怎麼做?
A: 有哪些類?
- 大象
- 冰箱
- 測試類
B:每個類有哪些東西呢?
- 大象:進去
- 冰箱:開門、關門
- 測試類:main方法
C:類與類之間的關係是什麼?
- 測試類中使用大象類和冰箱類的功能
3.程式碼體現
結構清晰,後期好維護。
class 大象{
public static void in(){
“裝進大象“”
}
}
class 冰箱{
public static void open(){
“開啟冰箱門”
}
public static void close(){
“關閉冰箱門”
}
}
class TestDemo{
public static void main(String[] args){
冰箱.open();//冰箱呼叫開門
大象.in();//大象呼叫進去
冰箱.close();//冰箱呼叫關門
}
}
面向物件開發:就是不斷的建立物件,使用物件,指揮物件做事情。
面向物件設計:管理和維護物件之間的關係。
面向物件特徵
面向物件——類與物件
1.現實世界中時如何描述一個事物的呢?
事物:屬性(事物的描述資訊)和行為(該事物能做什麼)
類: 成員變數和成員方法
類:一組相關的屬性和行為的集合。是一個抽象的概念。
物件:該類事物的具體表現形式。具體存在的個體。
如,學生(類)、班長(物件)。
類的定義
定義一個類,就是定義該類的成員變數、構造方法和成員方法。
eg1,手機類
//手機類
class Phone {
//定義手機的成員變數
String brand;
int price;
String color;
//定義手機類的成員方法
public void call(String name){
System.out.println("打電話給"+name);
}
public void sendMessage(){
System.out.println("發訊息");
}
public void playGame(){
System.out.println("玩遊戲");
}
}
//測試類
class PhoneDemo {
public static void main(String[] args) //忘了寫main方法,報了一堆錯誤...............
{
//建立物件
Phone huawei= new Phone();//左棧記憶體,右堆記憶體
//未賦值前
System.out.println(huawei.brand); //null
System.out.println(huawei.price); //0
System.out.println(huawei.color); //null
//給物件賦值
huawei.brand="huawei";
huawei.price=3000;
huawei.color="pink";
//物件呼叫方法
System.out.println(huawei.brand); //huawei
System.out.println(huawei.price); //3000
System.out.println(huawei.color); //pink
huawei.call("華為客服");
huawei.sendMessage();
huawei.playGame();
}
}
eg2.學生類
class Student{
String name;
int age;
public void show(){
System.out.println(name);
System.out.println(age);
}
}
class StudentDemo{
public static void main(String[] args){
Student s= new Student();
s.show();
System.out.println("賦值後:");
s.name="李健";
s.age=44;
s.show();
}
}