【发布时间】:2012-04-01 19:50:39
【问题描述】:
我一直听到对象有行为和状态这个词,或者只是其中之一。但是有什么区别或者是什么意思,如果有人能举个例子,我真的很感激。
【问题讨论】:
-
状态是一个状态。苹果是绿色的,红色的,也许是黄色的,迟早会腐烂。与对象没有什么不同。请更具体地提出您的问题。
标签: oop object-oriented-analysis
我一直听到对象有行为和状态这个词,或者只是其中之一。但是有什么区别或者是什么意思,如果有人能举个例子,我真的很感激。
【问题讨论】:
标签: oop object-oriented-analysis
【讨论】:
class Door {
boolean isOpen;
void close(){
isOpen = false;
}
}
看看这个简单的sn-p。
我们有 Door 类,它有一个 state isOpen - 变量描述了这扇门的当前状态。方法close是门的行为,当我们调用它时,我们改变了对象的当前状态。
我建议您阅读关于面向对象编程的适合初学者的书籍:Head First Object-Oriented Analysis and Design。如果您阅读它,您会得到更好的理解。
【讨论】:
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 age 是 25 和 t2 age 是 10。 t1.age, t2.age 是对象的状态。
希望这会有所帮助。
【讨论】:
对象由方法和字段定义。
字段或状态可以被认为是对象内的当前条件。香蕉的状态是它的形状、颜色和大小 方法或行为可以被认为是其作用。对于香蕉,无论它是成熟的还是干燥的都可以是行为。
【讨论】: