2012-04-01 4 views
15

객체라는 용어에는 동작 및 상태 또는 그 중 하나만 있습니다. 그러나 차이점은 무엇이며, 그것이 무엇을 의미하는지, 그리고 누군가가 예제를 줄 수 있다면 정말 감사 할 것입니다.oop에 상태와 동작이있는 객체

+1

상태는 상태입니다. 사과는 녹색, 빨간색, 어쩌면 노란색이고 조만간 썩은 것입니다. 객체와 달리 그다지. 귀하의 질문에 좀 더 구체적으로 대답하십시오. – Michael

+0

이 게시물을 읽으면 도움이 될 것입니다. http://www.yegor256.com/2014/12/09/immutable-object-state-and-behavior.html – yegor256

답변

9
class Door { 
    boolean isOpen; 

    void close(){ 
    isOpen = false; 
    } 
} 

이 간단한 발췌 문장을보십시오. 우리는 Door 클래스를 가지고 있으며 상태 인isOpen -이 문의 현재 상태를 나타내는 변수가 있습니다. 방법 close 문의 의 동작입니다 만, 이것을 호출하면, 객체의 현재의 상태를 변경합니다.

나는 당신이 객체 지향 프로그래밍에 대한 초보자를위한 책을 읽을 것을 조언한다 : Head First Object-Oriented Analysis and Design. 그것을 읽으면 더 나은 이해를 얻습니다.

+0

속성은 행동 또는 상태입니까? – Roar

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 개체를 만들었습니다. TigerRun입니다. 그것이 객체 Tiger의 동작입니다. t1 age25이고 t2 age10입니다. t1.age, t2.age은 개체의 상태입니다.

희망이 도움이됩니다.

24
  • 램프는 개체입니다.
  • 램프의 "상태": 켜기/끄기.
  • 램프의 "동작": 전원을 켜고 끄십시오. 프로그램에서

당신은 등 "방법"의 "필드"과 행동의 상태를 선언 ..

읽기 및 object-oriented을 배웁니다.

+0

속성은 동작 또는 상태입니까? – Roar

+0

속성은 상태로 간주됩니다. – KawaiKx

2

개체는 방법 및 필드로 정의됩니다.

필드 또는 상태는 객체 내의 현재 조건으로 생각할 수 있습니다. 바나나의 상태는 모양과 색상 및 크기가됩니다. 방법이나 행동은 그 행동으로 생각할 수 있습니다. 바나나는 익은 것이 든 말라 든 행동이 될 수 있습니다.

관련 문제