封裝 (物件導向程式設計)

维基百科,自由的百科全书
跳转至: 导航搜索

物件導向程式設計方法中,封裝英语Encapsulation)是指,一種將抽象性函式介面的實作細節部份包裝、隱藏起來的方法。同時,它也是一種防止外界呼叫端,去存取物件內部實作細節的手段,這個手段是由程式語言本身來提供的。這兩個概念有一些不同,但通常被混合使用。封裝被視為是物件導向的四項原則之一。

適當的封裝,可以將物件使用介面的程式實作部份隱藏起來,不讓使用者看到,同時確保使用者無法任意更改物件內部的重要資料。它可以讓程式碼更容易理解與維護,也加強了程式碼的安全性。

程式範例[编辑]

C#範例[编辑]

这是一段C#代码,演示了如何使用private关键字限制变量的访问:

namespace Encapsulation 
{
	class Program 
	{
		public class Account 
		{
			private decimal accountBalance = 500.00m;
 
			public decimal CheckBalance() 
			{
				return accountBalance;
			}
		}
 
		static void Main() 
		{
			Account myAccount = new Account();
			decimal myBalance = myAccount.CheckBalance();
 
			/* Main方法能够通过public的“CheckBalance”方法确认账户余额,但是不能更改它 */
		}
	}
}

JAVA範例[编辑]

下面是Java的演示程序:

public class Employee {
    private BigDecimal salary = new BigDecimal(50000.00);
 
    public BigDecimal getSalary() {
        return salary;
    }
 
    public static void main() {
        Employee e = new Employee();
        BigDecimal sal = e.getSalary();
    }
}