oop - 我们保护我们的类(class)免受谁的侵害?

标签 oop encapsulation access-modifiers

我目前正在学习 C#,我想知道,将类/方法声明为私有(private)有什么意义?我们在隐藏/限制对这些类的访问。
因为如果有人正在编辑源代码,他们只需将标签从私有(private)更改为公共(public)。我不确定用户将如何访问这些方法以及它会导致什么问题。
tldr;访问修饰符有什么意义。

最佳答案

成员可见性(通常称为此功能)不是安全功能。它为程序员提供了便利,旨在帮助限制跨类依赖。通过将成员声明为私有(private),您可以防止其他代码直接访问它。这有两个优点:

  • 如果您发现成员变量以您不希望的方式被操纵,那么当变量是私有(private)的
  • 时,您必须检查的代码量会明显减少。
  • 你可以改变一个类的内部工作(所有被声明为私有(private)的)而不破坏接口(interface)(所有被声明为公共(public)的)

  • 成员可见性可能是实现封装的最重要的语言特性,封装是面向对象编程的核心原则之一。

    关于oop - 我们保护我们的类(class)免受谁的侵害?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245268/

    相关文章:

    c++ - 私有(private)构造函数禁止使用 emplace[_back]() 以避免 move

    java - java中Strictfp是什么意思?

    java - java中访问 'final'修饰符类

    java - 如何处理与微服务无关的类对象?

    java - 将实例变量设为私有(private)只会对子类有利吗?

    python - Python封装实例字段的方式

    c++ - C++ : classes vs. 结构中的抽象语法树

    c# - 什么是运行时和编译时多态性?

    c++ - 从构造函数体调用父类(super class)构造函数

    php - CodeIgniter 在同一 Controller 中加载多个模型