1. 程式人生 > >java面向對象(封裝)

java面向對象(封裝)

strong 方法 對象 setname microsoft 由於 成員 java pri

一.封裝的概述

封裝是指一種將抽象性函式接口的實現細節部份包裝、隱藏起來的方法。

是面向對象思想的特征之一,面向對象共有三個特征:封裝,繼承,多態。

二.封裝的優點

1.良好的封裝能夠減少耦合。

2. 類內部的結構可以自由修改。

3. 可以對成員變量進行更精確的控制。

4. 隱藏信息,實現細節。

三.封裝舉例(步驟)

1. 修改屬性的可見性來限制對屬性的訪問(一般限制為private)

public class Person {
    private String name;
    private int age;
}

nameage 屬性設置為私有的,只能本類才能訪問,其他類都訪問不了,如此就對信息進行了隱藏。

2.對外提供公共方法訪問(get&set)

public class Person{
    private String name;
    private int age;
?
    public int getAge(){
      return age;
    }
?
    public String getName(){
      return name;
    }
?
    public void setAge(int age){
      this.age = age;
    }
?
    public void setName(String name){
      
this.name = name; } }

四.this的解釋與應用

在成員變量名前面加上this.來區別成員變量和局部變量

//在Person類中定義功能,判斷兩個人是否是同齡人
class Person {
    private int age;
    private String name;
    
    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        
return name; } public void setName(String name) { this.name = name; } public void speak() { System.out.println("name=" + this.name + ",age=" + this.age); } // 判斷是否為同齡人 public boolean equalsAge(Person p) { // 使用當前調用該equalsAge方法對象的age和傳遞進來p的age進行比較 // 由於無法確定具體是哪一個對象調用equalsAge方法,這裏就可以使用this來代替 /* * if(this.age == p.age) { return true; } return false; */ return this.age == p.age; } }

java面向對象(封裝)