我们都知道结构是面向过程,类是面向对象。之前没有面向对象的时候,用的都是结构。结构不具备面向对象的任何特征(封装/继承/多态),所以我们现在用的也都是面向对象。
问:什么是属性?
答:
- 属性存在的作用就是保护字段,对字段的赋值和取值进行限定。
- 属性的本质就是两个方法,一个叫get(),一个叫set()。从字面意思得知:一个叫get取值,一个叫set设置值。
- 既有get()也有set(),我们称之为可读可写属性。
- 只有get()没有set(),我们称之为只读属性。
- 没有get()只有set(),我们称之为只写属性。
访问修饰符:
public:公开的公共的,在哪都能访问。
private: 私有的,只能在当前类的内部进行访问,除了这个类就访问不到了。
在类当中,字段必须是私有的,属性虽然可以是私有,这样语法上不会有什么错误,但是私有就没有什么意义了,所以属性一般都是设置为public
字段必须是私有的,因为它存数据,数据对于我们来说很重要,不能够被外面随随便便就访问到。而我们如果想访问字段的话,给字段取值和赋值,只能通过一个中间商(属性),也就是我们上方这段代码中的Gender,不过最终赋值还是给字段了,