面向对象开发中,属性和状态可以认为是相等的吗?

面向对象开发中,属性和状态可以认为是相等的吗?

比如,我们对一个类:
我想要一个属性作为Teacher的状态,

class Teacher {

private status = undefined;

...

public teach(stu) {

this.status = teaching

}

public eat() {

this.status = eating

}

public sleep() {

this.status = sleeping

}

}

请问,是否在面向对象的开发中,
1.状态可以用属性表示对吗?
2.是否任何属性都是代表类实例的一个状态?


回答:

没错拿你上面定义status属性就是用来表示Teacher对象当前的状态的(比如,正在教学、正在吃饭、正在睡觉等)。但是任何属性都是代表类实例的一个状态这个不一定,这个问题的答案取决于你怎么定义定义"状态",就像这Teacher对象,运行时的状态是可以变的,但是假如是一些静态信息,比如出生日期,一个圆的半径半径这些静态的数据是不会变的,所以不是所有的属性都用来表示状态。你可以把属性看作是用来描述对象状态的一种工具,但不是所有的属性都用来表示状态。

以上是 面向对象开发中,属性和状态可以认为是相等的吗? 的全部内容, 来源链接: utcz.com/p/945251.html

回到顶部