当前位置: 首页 > 知识库问答 >
问题:

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

姚信鸥
2023-07-17

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

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

class Teacher {  private status = undefined;  ...  public teach(stu) {    this.status = teaching  }    public eat() {    this.status = eating  }    public sleep() {    this.status = sleeping  }}

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

共有1个答案

孟泽宇
2023-07-17

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

 类似资料:
  • 我想接收一些输入字段的值,并将它们设置为newValue状态,但状态的某些属性本身就是对象。希望newValue状态的格式为: 现在,对象保存如下: 有没有办法通过调整getValue函数或输入字段来实现这一点?

  • 本文向大家介绍php面向对象中static静态属性和静态方法的调用,包括了php面向对象中static静态属性和静态方法的调用的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置

  • 问题内容: 如果我有发言权,。 当然,分配新的属性没有问题, 但是之后我想将其删除,因此这里无济于事。 所以, 是这样的。但是,还有一种更“优雅”的方式吗? 问题答案: 这适用于数组元素,变量和对象属性。 例:

  • 我正在使用vue和vuex来设置web应用程序。在此应用程序中,我希望以包含可编辑属性的对象形式将一些用户可编辑数据存储到vuex状态,即,但是有人告诉我,试着去掉监视对象变化的监视程序,让应用程序能够将变化的对象存储到状态。 我已尝试从存储中获取状态,并将其放入vue instant,让用户编辑绑定到对象属性的字段,即其中是从vuex存储中获取的对象。很明显,当值发生变化时,控制台会显示错误“不

  • 问题内容: 目前,我正在阅读“ Java并发实践”,其中包含以下句子: 由于线程访问无状态对象的操作不会影响其他线程上操作的正确性,因此无状态对象是线程安全的。 那么,什么是无状态对象? 问题答案: 无状态对象是没有实例字段(实例变量)的类的实例。该类 可能 具有字段,但是它们是编译时常量(静态final)。 一个非常相关的术语是 不可变的 。不可变的对象可能具有状态,但是在调用方法时状态不会改变

  • 每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为。 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问。对象名在圆点左边,而成员变量或成员方法的名称在圆点的右边。语法格式如下: 例如,定义一个 Student 类,创建该类的对象 stu,再对该对象的属性赋值,代码如下: 如果一个对象要被使用,则对象必