회원 변수
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) 참고 항목
참조
- ^ 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.