C 和 Python 是否有相当于 Java 的 public 和 private 的方法?

我意识到在我学过的许多语言中都包含关键字publicand private,而且我还发现 Lua 相当于privateislocal这让我思考 C 和 Python 中是否也有等效的。

那么, C 和 Python 中是否有 Java 中的publicand的实际等效项呢?private


森栏
浏览 123回答 2
2回答

慕哥9229398

Python 中受保护字段和私有字段有一个命名约定:一个下划线前缀表示受保护,两个下划线表示私有。但这并没有真正得到执行。不带一两个下划线前缀的所有内容都是公共的。在 C 中,全局变量和函数可以从其他源文件中的函数访问,除非它们被声明static。与 不完全相同private,但 C 不是面向对象的,因此这里不存在类的概念。

九州编程

在 python 中,你可以通过在成员名称前添加 dunders(双下划线) 来声明私有成员,如下所示:class Sample:    def __init__(self):        self.__private_mem = "Can be accessed only by member functions"        self.public_mem = "Can be accessed as object properties outside the class"sample = Sample()print(sample.public_mem)print(sample.__private_mem) # will raise an Error但是,我想C语言中没有这样的东西,因为它不是面向对象的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python