为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

森栏 2023-10-31 21:20:42
我意识到在我学过的许多语言中都包含关键字publicand private,而且我还发现 Lua 相当于privateislocal这让我思考 C 和 Python 中是否也有等效的。那么, C 和 Python 中是否有 Java 中的publicand的实际等效项呢?private
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

Python 中受保护字段和私有字段有一个命名约定:一个下划线前缀表示受保护,两个下划线表示私有。但这并没有真正得到执行。

不带一两个下划线前缀的所有内容都是公共的。

在 C 中,全局变量和函数可以从其他源文件中的函数访问,除非它们被声明static。与 不完全相同private,但 C 不是面向对象的,因此这里不存在类的概念。


查看完整回答
反对 回复 2023-10-31
?
九州编程

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语言中没有这样的东西,因为它不是面向对象的。


查看完整回答
反对 回复 2023-10-31
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信