首頁 雲端運算與程式碼文章正文

類的三種訪問權限代碼例子

雲端運算與程式碼 2023年05月14日 10:52 788 訪客

在面向對象編程中,類的訪問權限是指控制其他類或對象可以訪問這個類的成員(屬性和方法)的級別。在大多數的面向對象編程語言中,類的訪問權限通常分為以下三種:


類的三種訪問權限代碼例子 第1张

1. Public(公有)


Public指的是類的成員對所有其他的類和對象都是可見的,可以被其他類和對象隨意調用。這種訪問權限最為開放,常用於表示類的主要功能或核心業務。


2. Protected(保護)


Protected指的是類的成員僅對自身和其子類可見,其他類或對象無法直接訪問。這種訪問權限通常用於封裝與繼承相關的成員變量和函數,不允許外部類或對象隨意調用和修改。


3. Private(私有)


Private指的是類的成員僅對自身可見,即其他對象無法訪問和修改。這種訪問權限通常用於封裝類的輔助成員、一些內部實現細節,不想讓外部知道的詳細信息。


總的來說,Public訪問級別最高,能夠被最廣泛地訪問;Protected訪問級別次之,只能被類自身和其子類訪問;Private訪問級別最低,只有類自身能夠訪問。這種訪問權限的規定是為了更好的封裝和保護類的成員,避免外部程序對其進行隨意調用和修改,提高程序的安全性和穩定性。


下面是一個簡單的代碼例子,展示了在Java語言中類的三種訪問權限的定義和使用:



// 定義一個類,包含公有、保護和私有三種訪問權限的成員變量和成員函數
public class ExampleClass {
    public int publicVar;       // 公有成員變量
    protected String protVar;  // 保護成員變量
    private boolean privVar;   // 私有成員變量
   
    public ExampleClass() {    // 公有構造函數
        publicVar = 0;
        protVar = "default";
        privVar = true;
    }
   
    public void publicMethod() {       // 公有成員函數
        System.out.println("This is a public method.");
    }
   
    protected void protMethod() {      // 保護成員函數
        System.out.println("This is a protected method.");
    }
   
    private void privMethod() {        // 私有成員函數
        System.out.println("This is a private method.");
    }
}
// 在其他類中創建ExampleClass對象,並嘗試訪問其成員變量和成員函數
public class TestClass {
    public static void main(String[] args) {
        ExampleClass obj = new ExampleClass();
       
        // 訪問公有成員變量和公有成員函數
        obj.publicVar = 10;
        obj.publicMethod();
       
        // 無法訪問保護成員變量和保護成員函數(不在同一包內,無法訪問子類成員)
        // obj.protVar = "test";          // 錯誤:protVar 在 ExampleClass 中是 protected 訪問控制
        // obj.protMethod();              // 錯誤:protMethod 在 ExampleClass 中是 protected 訪問控制
       
        // 無法訪問私有成員變量和私有成員函數
        // obj.privVar = false;           // 錯誤:privVar 在 ExampleClass 中是 private 訪問控制
        // obj.privMethod();              // 錯誤:privMethod 在 ExampleClass 中是 private 訪問控制
    }
}

在上面的例子中,我們創建了一個ExampleClass類,其中包含公有、保護和私有三種不同訪問權限的成員變量和成員函數。在TestClass類中,我們創建了一個ExampleClass對象,並嘗試訪問其不同訪問權限的成員,通過這個例子我們可以看出,公有成員變量和成員函數可以被任何其他類的對象調用,而保護成員和私有成員則只能在本類中進行訪問和修改,或在其子類中被訪問和修改。


下面是一個簡單的Java代碼例子,展示如何使用公有訪問權限來定義類的成員變量和成員函數:


// 定義一個類,使用公有訪問權限
public class ExampleClass {
    // 公有成員變量
    public int publicVar;
   
    // 公有構造函數
    public ExampleClass() {
        publicVar = 0;
    }
   
    // 公有成員函數
    public void publicMethod() {
        System.out.println("This is a public method.");
    }
}
// 在另一個類中創建ExampleClass對象,並嘗試訪問其公有成員
public class TestClass {
    public static void main(String[] args) {
        ExampleClass obj = new ExampleClass();
        obj.publicVar = 10;             // 訪問公有成員變量
        obj.publicMethod();            // 調用公有成員函數
    }
}


在上面的例子中,我們創建了一個ExampleClass類,其中包含一個公有成員變量publicVar、一個公有構造函數ExampleClass()和一個公有成員函數publicMethod()。在TestClass類中,我們創建了一個ExampleClass對象obj,並通過它訪問了ExampleClass類的公有成員變量和公有成員函數,由於這些成員都是公有的,所以在TestClass中可以直接訪問和調用。

標籤: 類的成員函數 成員變量 類的三種訪問權限

AmupuCopyright Amupu.Z-Blog.Some Rights Reserved.