объекты с состоянием и поведением в oop - PullRequest
17 голосов
/ 01 апреля 2012

Я продолжаю слышать, что термин "объект" имеет поведение и состояние или только один из них.Но какая разница или что это значит, и если кто-то может привести пример, я был бы очень признателен.

Ответы [ 4 ]

30 голосов
/ 02 октября 2012
  • Лампа - это объект.
  • «Состояние» в лампе: включено и выключено.
  • «Поведение» в лампе: включается и выключается.

При программировании вы объявляете состояния в «полях», а поведение - в «методах» и т. Д.

Прочитайте и изучите объектно-ориентированный .

9 голосов
/ 02 апреля 2012
class Door {
  boolean isOpen;

  void close(){
    isOpen = false;
  }
}

Посмотрите на этот простой фрагмент. У нас есть класс Door, у него есть состояние isOpen - переменная описывает текущее состояние этой двери. Метод close это поведение двери, когда мы ее вызываем, мы меняем текущее состояние объекта.

Советую прочитать для начинающих хорошую книгу об объектно-ориентированном программировании: Head First Объектно-ориентированный анализ и проектирование . Если вы прочитаете это, вы получите лучшее понимание.

5 голосов
/ 02 апреля 2012
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 - это состояние объекта.

Надеюсь, это поможет.

2 голосов
/ 22 мая 2014

Объекты определяются методами и полями.

поля или состояния можно представить как текущие условия внутри объекта.Состояние банана будет его формой, цветом и размером. Можно подумать о методах или поведении его действия.С бананом, будь то спелый или сухой может быть поведение.

...