c# - 定义私有(private)领域和属性(property)与属性(property)

标签 c# oop encapsulation

遵循 OOP 的最佳实践,拥有这段代码是否更好:

class Car {

    private Driv driver;

    public Driv Driver {

        get { return driver; }

        set { driver = value; }
    }

}

还是这个?

class Car
{
    public Driv Driver { get; set; }
}

虽然第二个版本更短,但我觉得我打破了封装概念的主要前提:

EVERY class should keep its privates to itself.

希望答案不要太琐碎。

最佳答案

真的没有区别。如果用户没有创建私有(private)变量,那么将为私有(private)字段自动生成代码。但是,如果用户希望在属性的 getter 或 setter 中执行额外的逻辑,则需要声明一个私有(private)字段。

关于c# - 定义私有(private)领域和属性(property)与属性(property),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610235/

相关文章:

c# - 如何隐藏一个asp :Image contained within a Repeater if the image field in the database is set to null

PHP:何时使用类上的 namespace 进行分组?

oop - 理解封装和抽象的简单方法

c# - 将文件夹及其内容移动到其他文件夹

C# 某种插件系统

c# - 将 Access 数据库表加载到数据表

c++ - 在 c++ 世界中获取/设置,失礼?

javascript - 如何在 Javascript 中检查对象是否为 "sub-object"?

C# 多接口(interface)继承不允许具有相同名称的公共(public)访问修饰符

c++ - 多个类,相同的公共(public)接口(interface)