【问题标题】:objects with state and behavior in oop在 oop 中具有状态和行为的对象
【发布时间】:2012-04-01 19:50:39
【问题描述】:

我一直听到对象有行为和状态这个词,或者只是其中之一。但是有什么区别或者是什么意思,如果有人能举个例子,我真的很感激。

【问题讨论】:

  • 状态是一个状态。苹果是绿色的,红色的,也许是黄色的,迟早会腐烂。与对象没有什么不同。请更具体地提出您的问题。

标签: oop object-oriented-analysis


【解决方案1】:
  • 灯是一个物体。
  • 灯的“状态”:开和关。
  • 灯中的“行为”:打开和关闭。

在编程中,您在“字段”中声明状态,在“方法”等中声明行为。

阅读和学习object-oriented

【讨论】:

  • 属性是行为还是状态?
  • 属性将被视为状态
【解决方案2】:
class Door {
  boolean isOpen;

  void close(){
    isOpen = false;
  }
}

看看这个简单的sn-p。 我们有 Door 类,它有一个 state isOpen - 变量描述了这扇门的当前状态。方法close是门的行为,当我们调用它时,我们改变了对象的当前状态。

我建议您阅读关于面向对象编程的适合初学者的书籍:Head First Object-Oriented Analysis and Design。如果您阅读它,您会得到更好的理解。

【讨论】:

  • 属性是行为还是状态?
【解决方案3】:
abstract class Animal
{
   int age;
   abstract void Run();
}

class Tiger:Animal
{
    override void Run()
    {
      //something.
    }
}

main()
{
     Tiger t1 = new Tiger();
     Tiger t2 = new Tiger();
     t1.age = 25;
     t2.age = 10;
}

现在您已经创建了两个 Tiger 对象。 Tiger 可以Run。这就是对象Tiger 的行为。 t1 age25t2 age10t1.age, t2.age 是对象的状态。

希望这会有所帮助。

【讨论】:

    【解决方案4】:

    对象由方法和字段定义。

    字段或状态可以被认为是对象内的当前条件。香蕉的状态是它的形状、颜色和大小 方法或行为可以被认为是其作用。对于香蕉,无论它是成熟的还是干燥的都可以是行为。

    【讨论】:

      猜你喜欢
      • 2013-08-28
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      相关资源
      最近更新 更多