我意识到在我学过的许多语言中都包含关键字publicand private,而且我还发现 Lua 相当于privateislocal这让我思考 C 和 Python 中是否也有等效的。那么, C 和 Python 中是否有 Java 中的publicand的实际等效项呢?private
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
Python 中受保护字段和私有字段有一个命名约定:一个下划线前缀表示受保护,两个下划线表示私有。但这并没有真正得到执行。
不带一两个下划线前缀的所有内容都是公共的。
在 C 中,全局变量和函数可以从其他源文件中的函数访问,除非它们被声明static
。与 不完全相同private
,但 C 不是面向对象的,因此这里不存在类的概念。
九州编程
TA贡献1785条经验 获得超4个赞
在 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语言中没有这样的东西,因为它不是面向对象的。
添加回答
举报
0/150
提交
取消