属性与封装的关系

问题描述 投票:0回答:1

在封装中,我们使用公共方法访问私有字段。在属性中,我们可以使用(set,get)访问私有字段。属性和封装之间有什么关系?还有什么区别?

我认为我们在封装中以某种方式使用了属性的功能,但是它们之间有什么区别以及它们之间的关系是什么?对我来说似乎有点模糊

c# properties encapsulation
1个回答
0
投票

封装是面向对象编程中的一个基本概念,涉及在类中捆绑数据和方法、隐藏数据(使其私有)以及通过方法控制对其的访问。

C# 中的

Properties 是封装的具体实现,允许您公开具有受控访问的字段。他们使用

get
set
方法来读取和写入数据。

这是 C# 中的一个简短示例:

public class Person
{
    private string name; // Encapsulated field

    public string Name // Property
    {
        get { return name; } // Getter
        set { name = value; } // Setter
    }
}

class Program
{
    static void Main()
    {
        Person person = new Person();
        person.Name = "John"; // Set using property
        string name = person.Name; // Get using property
    }
}

在此示例中,

Name
是封装了
name
字段的属性。它通过提供用于获取和设置值的自定义逻辑来控制对
name
字段的访问。

© www.soinside.com 2019 - 2024. All rights reserved.