2010-04-27 1 views
17

이 용어의 의미를 찾으려고했지만 언어 장벽으로 인해 무엇을 사용했는지 이해할 수 없었습니다. "필드"변수 (너무 너무?) 클래스에서 "속성"특정 값을 반환하고 메서드를 포함 할 수없는 개체입니다 동안 가정합니다. "회원"나는 클래스 수준에서 선언 된 모든 개체를 이해합니다 . 그러나 이것들은 일부 신중한 프로그래머들이 "재산 지역"등을 사용하는 주석이 달린 코드 샘플을 기반으로 한 나의 가정들입니다. 누군가가 나에게 설명 할 수 있다면 정말 감사 할 것입니다.프로그래밍 용어 - field, member, properties (C#)

답변

38

:

필드 :이 클래스 레벨에서 선언 된 변수입니다.

public class SomeClass 
{ 
    private int someInteger; // This is a field 
    public double someDouble; // This is another field 
    protected StringBuidler stringBuidler; // Still another field 
} 

속성 : 종종 클래스의 private 필드에 접근으로 사용, 그들은 필드 조작 주위에 약간의 논리를 포장 얻고 설정 방법을 제공 할 수 있습니다.

public class SomeClass 
{ 
    private StringBuilder stringBuilder; 

    // Property declaration 
    public StringBuilder StringBuilder 
    { 
     get 
     { 
      if(this.stringBuilder == null) 
       this.stringBuilder = new StringBuidler(); 

      return this.stringBuilder; 
     } 
     set 
     { 
      if(this.stringBuilder == null) 
       this.stringbuilder = value; 
     } 
    } 
} 

회원는 : 필드, 속성, 메소드, 클래스의 이벤트를 포함합니다.

1

이 영역의 용어는 혼란스럽고 언어마다 언어에 따라 다양하며 모델마다 다릅니다. 특정 언어 나 플랫폼을 염두에두고 있습니까? 첫 번째 근사

:

  1. SQL 토론은 종종 필드 및 상호 교환 를 사용합니다. 필드은 Java 및 C# 클래스의 데이터 멤버에 대한 표준 용어이기도합니다.
  2. 회원 가장 일반적으로 멤버 함수, 구조체/클래스 정의의 여러 다른 회원 등 멤버 변수하고, 참조하는 C++에서 사용된다.
+0

예, 죄송합니다 - C#. – Petr

0

이러한 용어는 서로 다른 언어로 나뉘어 있으므로 서로 겹치는 부분이 많으며, 개념은 개념보다는 구체적인 언어에 대한 내용이 많습니다. 속성 및 필드는 클래스의 데이터를 설명하기 위해 사용되며, 멤버는 클래스의 데이터 및 동작 (예 : 메소드) 일 수 있습니다. 그러나 C#과 Java에서는 속성과 필드 사이에 차이점이 있지만 구문식 설탕입니다. 프로토 타입 기반 객체 지향 언어 (클래스 기반이 아니라)를 사용한다면 객체의 슬롯에 대해 이야기 할 것입니다 ... 전체적인 의미를 파악하려면 먼저 언어를 선택하십시오. C#에서