3

仓颉编程语言的一点期望

 2 years ago
source link: https://www.cnblogs.com/littlecarry/p/15580668.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

仓颉编程语言的一点期望

华为要出国产编程语言仓颉了!牛逼

一、访问修饰符

写了十几年的代码,用过几种语言,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类可见!这是不应该的!!!

三、总结

希望仓颉有一种修饰符,让那个方法同级包可见、上层包可见,使得代码能封装得更好!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK