倉頡程式語言的一點期望

老凱瑞發表於2021-11-20

華為要出國產程式語言倉頡了!牛逼

 

一、訪問修飾符

寫了十幾年的程式碼,用過幾種語言,Java最長。在對程式碼封裝時,總是有一點遺憾:

Java訪問修飾符:public、protected、default、private四種,如下類Class2,有四個方法

轉載請註明原著:部落格園老鍾 https://www.cnblogs.com/littlecarry/

Class2類所在包結構如下

 

package1、package2,是同級包,package10、package11是package1下的同級包

我期望,Class2有個方法,Class1、Class3能呼叫(可見),Class8不能呼叫(不可見)

public 的testA(),Class1、Class3可見,Class8也可見

default 的testC(),僅Class3可見

testB(), testD(),一樣都達不到這樣的要求

 

二、為什麼會有這樣的需求呢?

 比如設計一個網路收發節點1

network1為上層包,下面分為 recv、send包,

Net1Manager類,統籌傳送和接收,是網路節點1對外的門面,所有對網路節點1的操作,只能通過這個類,實現完美的封裝、隔離、內聚。

Receiver類(接收器)、Sender類(傳送器)在不同的子包。

 

 Sender類的sendData()方法,Net1Manager類是必須要呼叫的,所以只能是public而這就導致sendData()方法對網路節點2的Net2Manager類可見!這是不應該的!!!

 

三、總結

希望倉頡有一種修飾符,讓那個方法同級包可見上層包可見,使得程式碼能封裝得更好!

 

相關文章