C#中 对象封装后,如何使用get/set传值和取值???

C#中对象封装后,如何使用get/set传值和取值???... C#中 对象封装后,如何使用get/set传值和取值??? 展开
 我来答
百度网友8d17b9d
2014-06-28 · TA获得超过280个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:178万
展开全部

因为C#和Java不太一样,Java是直接让你定义getter/setter方法,但C#是通过属性(Property)来实现这一机制的,如果你看最后生成的IL代码,你会发现编译器帮我们完成了从属性到get/set方法。


至于你说的对象封装后,如果使用get/set方法传值和取值,在C#中很自然就是通过修改和读取属性来完成的。


下面通过一个例子给你说明一下:

class Student
{
    private string name;
    private int age;

    public string Name
    {
        get { this.name; }
        set { this.name = value; }
    }

    public int Age
    {
        get { this.age; }
        set { this.age = value; }
    }

    public Student() { }

    public Student(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    protected override string ToString()
    {
        return string.Format("Name: {0}, Age: {1}", this.name, this.age);
    }
}

class Test
{
    public static void Main()
    {
        Student std = new Student();
        std.Name = "Jim";
        std.Age = 25;
        Console.WriteLine(std.ToString());

        Student std2 = new Student("Tom", 21);
        Console.WriteLine("My name is" + std2.Name);
    }
}
来自:求助得到的回答
li2584640
2014-06-28 · 超过21用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:63.2万
展开全部
A a = new A();
a.B = "b";//赋值
string b = a.B;//取值
追问
在当前这个类里面可以,到了另外一个类,就取不到了,只能用构造函数么?
追答
什么意思,你把你写的代码贴出来看下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式