회원 변수

Member variable

객체 지향 프로그래밍에서 멤버 변수(멤버 필드라고도 함)는 특정 객체와 연관되어 있으며, 모든 방법(멤버 함수)에 접근할 수 있는 변수다.

클래스 기반 프로그래밍 언어에서는 변수 복사본이 클래스의 모든 인스턴스와 공유되는 클래스 변수(static member variable라고도 함)와 클래스의 각 인스턴스가 변수의 고유한 독립 복사본을 갖는 인스턴스 변수 등 두 가지 유형으로 구분된다.[1]

예:

C++

계급  {     인트로 술집을 내다; // 회원 변수   공중의:     공허하게 하다 세트바(경시하다 인트로 뉴바) {        술집을 내다 = 뉴바;     } };  인트로 본래의 () {    직장의; // 로컬 변수    돌아오다 0; } 

자바

공중의 계급 프로그램 {     공중의 정태의 공허하게 하다 본래의([] 아그)     {      // 로컬 변수 입니다. 그것의 수명      //는 어휘적 범위에 의해 결정된다.       foo;     } }  공중의 계급  {     /* 회원 변수 - 새 인스턴스      각 변수에 대해 이 변수가 생성됨       Foo의 새로운 예  이것의 수명      변수는 "이것"의 수명과 같다.      푸의 예     */      인트로 술집을 내다; } 

파이톤

계급 :     반항하다 __init___(자아의):         자아의._bar = 0      @property     반항하다 술집을 내다(자아의):         돌아오다 자아의._bar      @bar.세터     반항하다 술집을 내다(자아의, new_bar):         자아의._bar = new_bar   f = () f.술집을 내다 = 100 인쇄하다(f.술집을 내다) 

커먼 리스프

(품위를 손상하다 foo () (술집을 내다))                                                                                                                                           (디바를 제거하다 f (가공의 'foo'))                                                  (세트로 만들다 (슬롯 값 f '바') 100) (인쇄하다 (슬롯 값 f '바')) 

루비

/*   루비에는 클래스, 클래스 인스턴스, 인스턴스의 세 가지 멤버 변수 유형이 있다. */  계급     # 클래스 변수는 두 개의 at signs로 클래스 본체 내에서 정의된다.   # 및 모든 Dogs에 대한 데이터 설명(해당되는 경우)   @@sniffs = 진실의  종지부를 찍다  벙어리가 되다 = .새로운 벙어리가 되다.계급.냄새를 맡다 #=> 참  계급 푸들 <     # "클래스 인스턴스(instance) 변수"는 단일 at-sign으로 클래스 본문 내에서 정의된다.   # 그리고 푸들 클래스에 대한 데이터만 설명한다. 그것은 부모 클래스에 대해 어떠한 주장도 하지 않는다.   # 또는 푸들에서 파생된 가능한 하위 클래스   @sheds = 거짓의    # 새로운 푸들 인스턴스가 생성되면 기본적으로 훈련되지 않는다. '훈련된' 변수   # 초기화 방법에 로컬이며 인스턴스 변수를 @trained에 설정하기 위해 사용   # 인스턴스(instance) 변수는 인스턴스(instance) 방법 내에서 정의되며 푸들(Poodle) 인스턴스의 구성원이다.   반항하다 초기화하다(훈련된 = 거짓의)     @훈련된 = 훈련된   종지부를 찍다    반항하다 has_message?     @훈련된   종지부를 찍다  종지부를 찍다  p = 푸들.새로운 p.계급.흘리다 #=> 거짓 p.has_message? #=> 거짓 

PHP

<?php  계급  {     /**      * 인스턴스 멤버 변수의 예      *      * 회원 변수는 공개, 보호 또는 비공개일 수 있다.      *      * @var int      */     공중의 인트로 $foo;          /**      * 정적 멤버 변수의 예      *      * @var bool      */     보호받는 정태의 인트로 달러바;          /**      * 생성자 방법의 예      *      * @param int $foo      */     공중의 기능을 하다 ____(인트로 $foo)     {         // foo를 설정한다.         $ this->foo = $foo;     } }  // 새 예제 개체를 만드십시오. // "foo" 멤버 변수를 5로 설정하십시오. 달러화 = 새로운 (5);  // "foo" 멤버 변수를 10으로 덮어씁니다. 달러화->foo = 10;  // 10을 인쇄한다. 메아리치다 달러화->foo; 

루아

--creason 예시 --- @class sample_c -- @field foo 번호 예제 "member variable". 국부적 예제_c = {} 국부적 예제_mt = {__index = 예제_c}  -- 예에서 객체를 만든다. -- @return 예제_c 기능을 하다 예제_c.새로운(foo)   -- 첫 번째 표의 주장은 우리 객체의 회원 변수 입니다.   -- Lua 개체에서 값을 계산할 수 있으며 멤버 변수는 테이블 키-값 쌍입니다.   돌아오다 설정 가능한({     foo = foo   }, 예제_mt) 종지부를 찍다 --내부 지역  -- 예제 개체를 만드십시오. -- "foo" 멤버 변수를 5로 설정하십시오. 국부적 예시 = 예제_c.새로운(5)  -- "foo" 멤버 변수를 10으로 덮어씁니다. 예시.foo = 10  -- 인쇄물 10개. 인쇄하다(예시.foo) 

참고 항목

참조

  1. ^ Richard G. Baldwin (1999-03-10). "Q - What is a member variable?". http://www.dickbaldwin.com/: Richard G Baldwin Programming Tutorials. Retrieved 2011-08-12. A member variable is a member of a class (class variable) or a member of an object instantiated from that class (instance variable). It must be declared within a class, but not within the body of a method of the class.