类的公有私有变量

来源:5-6 层序遍历(广度优先遍历)

苏丛JS

2019-08-13

bobobo老师,
为什么你写层次遍历的时候把实现都放在了public中,
有关Node的都是传一个参数到private中的函数实现阿
什么时候要放在public, 什么时候放private?

写回答

1回答

liuyubobobo

2019-08-13

public 就是留给用户调用的接口;


private 就是希望对用户屏蔽的函数,不希望用户通过类对象进行调用:)


和 Node 相关的函数,都是私有的,是因为 Node 本身就是私有的,是用户不知道的细节。

用户使用你的BST类,不需要知道里面用了什么Node,是链式结构还是数组结构,Node里面有几个指针,存了哪些信息。用户可以使用你的BST类存储,读取,改写,删除内容,就可以了。

可以根据这个原则,在研究一下,课程的代码,哪些我设置成了public,哪些我设置成了private。为什么?


什么时候 public,什么时候 private,不是语法规定的,是设计者自己规定的。但原则是上面的原则:)


继续加油!:)

1
5
苏丛JS
回复
liuyubobobo
我懂了, 谢谢老师!
2019-08-14
共5条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11198 学习 · 1617 问题

查看课程