c#面向对象- 类的属性

属性:

作用: 就是保护字段,对字段的赋值和取值进行限定,此时,给字段加上属性之后,在外界只需要访问属性即可,这样做,即保护了字段中的数据,又可以对赋值进行过滤。

属性的本质:就是一个两个方法,一个get(取值)和set(赋值)与js中的Object.defineProperty类似。

解释:

下边给字段_age加上属性,外界过可通过Age属性(new Person().Age)来间接的访问 _age字段(此时在外界也直接访问不到_age字段了,因为前边加上了private修饰符),访问属性时,会执行get方法,我们在get方法里边会直接返回_age(当然你也可以修饰、处理一下_age字段再返回);当外界赋值时,会执行set方法,下边value就是外界给属性赋的值,我们在里边加了一层判断,当赋值小于0时,会强制给value值改为1,之后在赋值给_age字段。

(注意:下边private是目前我们使用的第二的属性修饰符,私有的,下边有解释)

class Person
{
    // 当给属性赋值时,会执行set方法,当输出属性值时,会执行get方法
    private int _age;
    public int Age
    {
       get { return _age; }
       set {
           if (value < 0)
           {
             value = 1;
           }
            _age = value; 
       }
     }
    public void SEE()
    {
        Console.WriteLine($"今年{this.Age}岁");
        Console.ReadLine();
    }

}

访问修饰符:

public: 公共的,在哪都能访问到

private:私有的,只能在当前类的内部进行访问,出了这个类就访问不到了(补充:在类中,不写访问修饰符,默认就是private)。

英文单词:

Field:字段

Methods:方法

properties:属性

猜你喜欢

转载自blog.csdn.net/qq_42778001/article/details/108913915