我意識到在我學過的許多語言中都包含關鍵字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
提交
取消