1. 程式人生 > >Java面向物件思想和特徵

Java面向物件思想和特徵

java面向物件思想

java面向物件思想是一種程式設計思想,計算機程式設計的實質就是把現實生活中的一些事物的特徵抽離出來描述成一些計算機事件的過程,這種抽象的過程中,我們把具體的事物封裝成一個一個的整體進行描述,使被描述的物件具備一些系統性、整體性的特徵和行為,我們把這種設計思想成為面向物件。
目的:增加程式碼的可重複性,可擴充套件性、可靠性。
面向物件在java中是如何實現的,即Java三大特徵2,3,4

  1. 通過類
    類是封裝物件的屬性和行為的載體,反過來說具有相同屬性和行為的一類實體被稱為類。
  2. 封裝
    是面向物件程式設計的核心思想,隱藏物件的屬性和實現細節,僅對外提供公共訪問方式,這就是封裝的思想,使用者只能通過對外提供的介面訪問資料。
    實現方式:
    a. 需要修改屬性的訪問控制符(修改為private);

    b. 建立getter/setter方法(用於屬性的讀寫);

    c. 在getter/setter方法中加入屬性控制語句(用於判斷屬性值的合法性 this/return);

  3. 繼承
    繼承是指從已有類中派生新的類,新的類能夠吸收已有類的資料屬性和行為,並擴充套件新的功能。或者說將事物的共性的功能和屬性抽取出來定義成一個父類,讓後來具有更多樣化實現子類繼承父類。
  4. 多型
    某一類事物具備的多種表現形態。 特點:可替換性,靈活性,擴充套件性,統一編碼風格。多型有兩種:引用多型和方法多型。繼承是多型的實現基礎。
    1.引用多型
    父類的引用可以指向本類的物件;父類的引用可以指向子類的物件。
//父類:動物類
public class Animal{ public int age; public String name; public void eat(){ System.out.println("動物具有吃東西的本領!"); } } //子類:狗類 public class Dog extends Animal { } //測試類 public class Test{ public static void main(String[] args) { //父類的引用可以指向本類的物件 Animal ani1 = new Animal(); //父類的引用可以指向子類的物件
Animal ani2 = new Dog(); } }

2.方法多型
建立父類物件時,呼叫的方法為父類方法;
建立子類物件時,呼叫的方法是子類重寫的方法或繼承自父類的方法;

//父類:動物類
public class Animal{
    public int age;
    public String name;
    public void eat(){
        System.out.println("動物具有吃東西的本領!");
    }
}
//子類:狗類
public class Dog extends Animal {
    public void eat(){
        System.out.println("狗是吃肉的。");
    }
}
//測試類
public class Test{
    public static void main(String[] args) {
    //父類的引用可以指向本類的物件
    Animal ani1 = new Animal();
    //父類的引用可以指向子類的物件
    Animal ani2 = new Dog();
    //輸出動物具有吃的本領
    ani1.eat();    
    //輸出狗是吃肉的
    ani2.eat();
    } 
}