c#面向对象- 类的属性

本文详细介绍了C#中的属性,包括其作用、要求和本质。属性用于保护字段,通过get和set方法控制数据访问,实现数据封装。在C#中,属性可以限制字段的赋值和取值,提供数据验证。此外,还展示了自动属性的使用,简化代码编写。通过属性,可以更好地管理和控制类的成员变量,确保数据的安全性和正确性。
摘要由CSDN通过智能技术生成

属性:

1、作用:

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

2、要求:

一般采用Pascal命名法,数据类型和字段要一致,必须使用public修饰符。

3、属性的本质:

属性本身,其实没有保存数据!而字段才是真正的数据存储单元。属性就是两个方法,一个get(取值)和set(赋值)与js中的Object.defineProperty类似。

4、解释:

下边给字段_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; 
       }
        // 在c# 3.0以后使用自动属性(说就是上边写法的语法糖而已)
        // public int Age{ get; set; }
     }
    public void SEE()
    {
        Console.WriteLine($"今年{this.Age}岁");
        Console.ReadLine();
    }

}
class Person
{
    public int Age
    {
        // 在c# 3.0以后使用自动属性,此时不需要写私有字段了,编辑器会帮助我们创建私有字段!!!
        public int Age{ get; set; }
     }
    public void SEE()
    {
        Console.WriteLine($"今年{this.Age}岁");
        Console.ReadLine();
    }

}

 

访问修饰符:

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

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

 

英文单词:

Field:字段

Methods:方法

properties:属性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值