倉頡編程語言的一點期望


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

 

一、訪問修飾符

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

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

轉載請注明原著:博客園老鍾 https://www.cnblogs.com/littlecarry/

Class2類所在包結構如下

 

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

我期望,在方法的可見性上,同級包可見、上層包可見、其他級別包不可見,如:Class2有個方法,Class3可見(有權限調用(同級包)Class1可見上層包class4不可見Class8不可見,

現在的java語法中

public 的testA(),Class1、Class3可見,Class8也可見、class4可見(所有包可見)

default 的testC(),僅Class3可見(同級包可見)

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

 

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

 比如app會訪問tcp、藍牙兩個網絡,網絡收發節點network1為tcp,network2為藍牙

network1為上層包,下面分為 recv、send包,分別負責tcp接收和發送

Net1Manager類,總管理發送和接收,是網絡節點1(tcp節點)對外的門面,所有對網絡節點1的操作,只能通過這個類,實現完美的封裝、隔離、內聚。

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

 

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

 

三、總結

希望倉頡有一種修飾符,讓那個方法包內可見上層包可見、其他包不可見,使得代碼能封裝得更好!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM