對我來說,封裝是將冗長/複雜的過程分解成更小和更有組織的子例程的過程。
function DoEverything() {
// do everything
}
function Encapsulation() {
GetTheLegos();
BuildTheLegoShip();
PretendYouAreAPirate();
}
抽象是找出一組進程的相似性並將這些相似性合併成一個進程的過程。
private void ProcessOne() {
try {
// code
}catch(exception ex) {
Utilities.log(ex);
Error.Text = "Error!";
}
}
private void ProcessTwo() {
try {
// different code
}catch(exception ex) {
Utilities.log(ex);
Error.Text = "Error!";
}
}
然後將其轉化爲如下所示的內容。
private void HandleException(exception ex) {
Utilities.log(ex);
Error.Text = "Error!";
}
private void ProcessOne() {
try {
// code
}catch(exception ex) {
HandleException(ex);
}
}
private void ProcessTwo() {
try {
// code
}catch(exception ex) {
HandleException(ex);
}
}
最後一個公共的方法來訪問這些領域,這樣 奉獻一流水平的封裝,是不是每個類得到這份工作? :) – 2013-03-02 15:57:39
@Adrian - nope;) – WpfBee 2013-03-02 17:17:55
@WPFbee不幸! – 2017-04-10 15:13:26