首頁  >  文章  >  Java  >  java什麼是抽象與封裝

java什麼是抽象與封裝

(*-*)浩
(*-*)浩原創
2019-05-22 19:45:434251瀏覽

抽像是將相同的類別的共同特徵總結出來,建構成類別的過程;只關心成員變數以及成員函數,並沒有關係具體的實作細節。封裝是把資料以及操作方法封裝在函數/類別裡,然後再裝起來;也就是把資料以及操作資料的方法綁定起來,對外界提供已經定義好的介面進行存取。

java什麼是抽象與封裝

java的四個基本特徵是抽象,封裝,多態,繼承。今天我們就來講講什麼是抽象與封裝。

抽象

抽象:將相同的類別的共同特徵總結出來,建構成類別的過程。包括資料抽像以及行為抽象。資料抽象化變成類別的成員變量,行為抽象化變成類別的成員函數。抽像只關心成員變數以及成員函數,並不關係具體的實作細節。

下面是Person.class,表示與人類相關的資料以及各種活動,只列舉部分的屬性以及行為。

public class Person{
    // 年龄(数据抽象)
    public int age;
    // 名字(数据抽象)
    public String name;

    public Person(){

    }
    public Person(int age,String name){
        this.age = age;
        this.name = name;
    }
    // 吃东西(行为抽象)
    public void eat(){
        System.out.println("I am eating");   
    }
    // 走路(行为抽象)
    public void walk(){
        System.out.println("I am walking");  
    }
}

創造一個人類的物件:

Person person = new Person(18,"张三");

上面的程式碼只是用來表示簡單的抽象,將人共同的屬性以及共同的行為抽像出來。

封裝

封裝其實可以理解為:“裝”與“封”,就是把資料以及操作方法封裝在函數/類別裡,然後再裝起來。也就是把資料以及操作資料的方法綁定起來,對外界提供已經定義好的介面進行存取。物件導向的本質就是將現實世界描繪成一系列的完全自治,封閉的物件。可以理解為我們無論內部實作有多複雜,使用者可以完全不用理,只需要知道怎麼使用就可以了。

舉個小例子:下面是學生的類,study的方法其實就是一種封裝,外界要是需要學生學習,那就直接調用study()方法即可,不需要知道我如何實現學習這個方法。

public class Student implements Serializable {
    public String name;
    public String number;
    public int age;
    public Student() {
    }
    public Student(String name, String number, int age) {
        this.name = name;
        this.number = number;
        this.age = age;
    }
    public void study(){
        System.out.println("我是学生"+name+",我今年"+age+"岁。");
        //内部可能有很复杂的操作,但是调用者只需要关注如何调用即可
    }
}

以上是java什麼是抽象與封裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn