属性的作用就是保护字段、对字段的赋值和取值进行限定。
    属性的本质就是两个方法,一个叫set(),一个叫get(). //可读可写属性

    Field 字段
    Method 方法
    Property 属性

    访问修饰符:
    public**:公开的公共的,在哪都能访问。
    private**:私有的,只能在当前类的内部进行访问。
    **

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Text;
    4. namespace _048_面对对象初级_3_属性
    5. {
    6. class Person
    7. {
    8. private string _name;
    9. //可读可写属性
    10. public string Name
    11. {
    12. //当你输出属性值得时候,会执行get方法
    13. get { return _name; }
    14. //当你给属性赋值的时候,首先回执行set方法
    15. set { _name = value; }
    16. }
    17. private int _age;
    18. public int Age
    19. {
    20. get { return _age; }
    21. set
    22. {
    23. if (value < 0 || value > 100)
    24. {
    25. value = 0;
    26. }
    27. _age = value;
    28. }
    29. }
    30. private char _gender;
    31. public char Gender
    32. {
    33. get
    34. {
    35. if (_gender != '男' && _gender != '女')
    36. {
    37. _gender = '男';
    38. //return _gender = '男';
    39. }
    40. return _gender;
    41. }
    42. set { _gender = value; }
    43. }
    44. public void Habit()
    45. {
    46. Console.WriteLine("我叫{0},是{1}生,今年{2}岁了,喜欢打lol看动漫欣赏妹子。", this.Name, this.Gender, this.Age );
    47. }
    48. }
    49. }
    1. using System;
    2. namespace _048_面对对象初级_3_属性
    3. {
    4. class Program
    5. {
    6. static void Main(string[] args)
    7. {
    8. Person person; //不占内存
    9. //创建person类的对象
    10. Person wxl = new Person();//占内存
    11. //其他类中,字段被private修饰后,就访问不到了
    12. //wxl._name = "微咲";
    13. //wxl._age = 19;
    14. //wxl._gender = '男';
    15. wxl.Name = "微咲";
    16. wxl.Age = -19;
    17. wxl.Gender = '人';
    18. wxl.Habit();
    19. Console.ReadKey();
    20. }
    21. }
    22. }