天天看點

Protected Internal的了解

我們都知道protected的通路級别是在本類和派生類中能被通路。而internal的通路級别是隻能在目前程式集(本項目)中被通路。

然而,當我們看到了peotedted internal這個通路修飾符自然而然想象到,這是增加對通路級别的限制,以為是隻能在本項目中的派生類中能被通路。

實則不然,當我們進行嘗試之後,可以發現,protected internal并非是增加對通路級别的限制,而是對通路級别的放寬。

在本項目中,我們會受到protected的影響,隻能在本類和派生類中通路,而protected internal,就會忽略protected而是在本項目中任何地方都能通路到。

而跨項目中,我們會受到internal的影響,出了項目就通路不到,protected internal就會忽略internal的影響,讓跨項目繼承的派生類也能通路到。

總而言之,就是,本項目中protected internal就當internal使用,跨項目中,protected internal就當protected使用,進而放寬了通路級别,讓protected和internal互相補其短而揚其長。

繼續閱讀