我知道封装意味着一个对象不应该直接访问不同对象的成员...但我想它与公共领域有关?我假设公共方法不破坏封装..?我在这里不清楚,对任何解释都很高兴.
Dan*_*dor 12
封装是你通过以下方式开车:
而不是:
暴露(制造public)什么,隐藏(制造private)如何.现在,你正在封装.
:)
封装并不意味着成员不能被访问。这意味着您应该只允许应该使用的成员访问,基本上是限制访问而不是禁止访问。
通过将某些内容公开,您就允许访问,而通过将其设为私有,您就不允许访问。
本文更深入地介绍了各种访问修饰符:
http://www.csharp-station.com/Tutorials/lesson19.aspx
在这篇文章中,他们给出了一个很好的例子:
using System;
class BankAccountProtected
{
public void CloseAccount()
{
ApplyPenalties();
CalculateFinalInterest();
DeleteAccountFromDB();
}
protected virtual void ApplyPenalties()
{
// deduct from account
}
protected virtual void CalculateFinalInterest()
{
// add to account
}
protected virtual void DeleteAccountFromDB()
{
// send notification to data entry personnel
}
}
Run Code Online (Sandbox Code Playgroud)
当程序员想要关闭帐户时,他们不必担心其中的各个步骤:
他们应该只是说他们希望关闭它并且将采取所有必要的措施。这就是为什么CloseAccount是公开的而其他不是公开的。
| 归档时间: |
|
| 查看次数: |
995 次 |
| 最近记录: |