oop中具有状态和行为的对象

时间:2012-04-01 19:50:39

标签: oop object-oriented-analysis

我一直听到对象这个术语有行为和状态,或只是其中之一。但是有什么区别或者它意味着什么,如果有人能举一个例子,我会非常感激。

4 个答案:

答案 0 :(得分:30)

  • 灯是一个物体。
  • 灯中的“状态”:开启和关闭。
  • 灯泡中的“行为”:开启并关闭。

在编程中,您在“fields”中声明状态,在“methods”等中声明行为。

阅读并了解object-oriented

答案 1 :(得分:9)

class Door {
  boolean isOpen;

  void close(){
    isOpen = false;
  }
}

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

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

答案 2 :(得分:5)

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是对象的状态。

希望这会有所帮助。

答案 3 :(得分:2)

对象由方法和字段定义。

  

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