JavaScript 中的私有方法
將資料和方法封裝在類別中是物件導向程式設計的基本原則。然而,在 JavaScript 中,在類別中定義私有方法可能具有挑戰性。
建立公共方法
要在JavaScript 中建立公共方法,我們通常使用原型property:
<code class="javascript">function Restaurant() {} Restaurant.prototype.buy_food = function(){ // something here }; Restaurant.prototype.use_restroom = function(){ // something here };</code>
使用者可以如下存取這些方法:
<code class="javascript">var restaurant = new Restaurant(); restaurant.buy_food(); restaurant.use_restroom();</code>
定義私有方法
創建一個私有方法只能被類內的其他方法訪問,我們可以在原型之外定義它:
<code class="javascript">function Restaurant() { var private_stuff = function() { // Only visible inside Restaurant() // Do something }; this.use_restroom = function() { // use_restroom is visible to all private_stuff(); }; this.buy_food = function() { // buy_food is visible to all private_stuff(); }; }</code>
限制
這種方法有一個缺點:私有方法不能原型的一部分。這意味著它們不能直接從類別的實例存取:
<code class="javascript">var r = new Restaurant(); r.private_stuff(); // This will not work</code>
因此,私有方法只能由同一類別中的公共方法呼叫。雖然這可能提供某種程度的封裝,但它不如其他程式語言中的真正私有方法那麼健壯。
以上是JavaScript中如何實作私有方法的封裝?的詳細內容。更多資訊請關注PHP中文網其他相關文章!