我们都知道结构是面向过程,类是面向对象。之前没有面向对象的时候,用的都是结构。结构不具备面向对象的任何特征(封装/继承/多态),所以我们现在用的也都是面向对象。

问:什么是属性?

答:

  1. 属性存在的作用就是保护字段,对字段的赋值和取值进行限定。
  2. 属性的本质就是两个方法,一个叫get(),一个叫set()。从字面意思得知:一个叫get取值,一个叫set设置值。
  3. 既有get()也有set(),我们称之为可读可写属性。
  4. 只有get()没有set(),我们称之为只读属性。
  5. 没有get()只有set(),我们称之为只写属性。

访问修饰符:

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

private: 私有的,只能在当前类的内部进行访问,除了这个类就访问不到了。

在类当中,字段必须是私有的,属性虽然可以是私有,这样语法上不会有什么错误,但是私有就没有什么意义了,所以属性一般都是设置为public

private char _gender; // 这个叫字段public char Gender // 这个叫属性{  get   {    if(_gender!='男' && _gender != '女')    {      return _gender = '男';    }      return gender;  }  set   {    _gender = value;  }}

字段必须是私有的,因为它存数据,数据对于我们来说很重要,不能够被外面随随便便就访问到。而我们如果想访问字段的话,给字段取值和赋值,只能通过一个中间商(属性),也就是我们上方这段代码中的Gender,不过最终赋值还是给字段了,