1.调用实例属性 属性的调用方式和字段一致 但是本质是方法
2.字段调用 myClass(类名).Test(公共名)(10(a));
public int _test;(公共字段)
private int _age;
( 私有字段
不希望类中字段暴漏给其他类 可以使用private 描述字段
可以在构造函数重载中对其 赋值
或者使用属性赋值 使用方法来限制和提供内部的私有字段的访问)
public void Test(int a)
{
_age = a;
}
3.实例属性 调用abc属性的set方法
myClass(类名).abc(属性名) = 900; (value值)
调用abc属性的get方法
Console.WriteLine(myClass.abc);
public int abc
{
get
{
//return 的数据类型 和 abc的 类型一致
return 10;
(也可以只读属性 只写 get)
}
set
{
//value 是索引器(set 方法)中的关键字
//value 代表属性在外部调用时 赋值的结果
Console.WriteLine(value)
(也可以只写属性 只写 set)
}
}
输出结果为 900 10
4. 属性和字段的关系
(1)字段是变量 属性是方法
(2)字段是为类的内部方法,或者方法之间传递数据使用,强调对内使用
属性是对外提供数据访问、本身不保存数据,强调对外使用
(3)字段一般用private修饰,很少用public
属性都是public,从来不用private
字段尽量定义成私有的 如果想访问使用属性
(4)属性可以为私有字段进行扩展
(5)属性可以分别有一个set 和get 方法组成。(或者称为访问器)
(6)字段可以读写均可,也可以用readonly限制为只读,但是不能添加业务逻辑。
属性可以轻松的实现单独读写控制,并且可以添加任意需要的业务逻辑。
5.语法糖
myClass.Weight = 100;
public int Weight { get; set; }//输出100
public string StrNumber { get; set; } = "属性直接初始化";//输出属性直接初始化