我在OOP中有一個普遍的問題,就是如果我們改變對象的狀態,是否改變了對象的行爲?更改對象的狀態是否會導致更改其行爲?
public class Test{
private int x;
private string y;
public Foo(int bar, string baz)
{
x = bar;
y = baz;
}
public void ChangeBar(int newBar)
{
x = newBar;
}
}
例如:
var obj = new Test (5, "yyy");
如果我改變y
價值"www"
,是否意味着中obj
行爲有變化?
'obj'實際上並沒有任何行爲。你的問題是一個理論/措辭問題嗎? – luk2302
在這個例子中,你的'obj'只會引用另一個新的對象。在沒有說明什麼是對象行爲對你意味着什麼的情況下,我們只能繼續猜測。 – AndrewMcCoist