オブジェクトには動作と状態、またはそれらの1つだけがあるという用語を聞き続けています。しかし、違いは何ですか、それはどういう意味ですか。誰かが例を挙げていただければ、本当にありがたいです。
プログラミングでは、「フィールド」で状態を宣言し、「メソッド」などで動作を宣言します。
読んで学ぶ オブジェクト指向 。
class Door {
boolean isOpen;
void close(){
isOpen = false;
}
}
この単純なスニペットを見てください。クラスDoor
があり、stateisOpen
-変数がこのドアの現在の状態を記述します。メソッドclose
それはドアのbehaviourであり、それを呼び出すと、オブジェクトの現在の状態を変更します。
オブジェクト指向プログラミングに関する初心者向けの本を読むことをお勧めします: 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;
}
これで、2つのTigerオブジェクトが作成されました。 Tiger
can Run
。これがオブジェクトTiger
の動作です。 t1 age
は25
およびt2 age
は10
。 t1.age, t2.age
はオブジェクトの状態です。
お役に立てれば。
オブジェクトは、メソッドとフィールドによって定義されます。
フィールドまたは状態は、オブジェクト内の現在の状態と考えることができます。バナナの状態は、その形、色、サイズになります。方法や行動は、その作用について考えることができます。バナナの場合、熟しているか乾燥しているかが行動になります。