加入get和set不还是一样能够访问和修改成员变量么?

来源:2-2 C#代码实现属性封装

慕工程1196879

2019-01-17 21:46

private限制了变量不能对实例化的对象访问,保护不被修改,但加入get和set还是和public一样能够访问和修改成员变量么?对其保护又体现在哪里呢?感觉没有起到private对变量的限制、保护作用啊。有明白人能帮忙指点一下么,谢谢。

写回答 关注

2回答

  • 慕雪4122463
    2020-06-11 15:46:40

    如果对get和set方法什么都不做,确实没有起到保护的作用。但是你可以在set方法里实现一些check的代码,比如什么样的数据不能被set,这样就起到保护的作用了。

  • 幕布斯8593693
    2019-05-07 11:06:31

    个人认为,在学封装之前,应该先搞明白为什么要对变量进行封装。在对字段进行隐藏后,用公开的属性对字段进行封装,加入get和set后,还是和公开字段一样,能够访问和修改成员变量;封装对自段的保护就像是ATM机对钞票的保护作用,理解这个背景最为重要。这是我的理解,希望对你有用。

用C#实现封装

C#视频教程教大家,用C#语言实现面向对象的封装

77603 学习 · 182 问题

查看课程

相似问题