属性_(コンピューティング)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 属性_(コンピューティング)の意味・解説 

属性 (コンピューティング)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/17 15:12 UTC 版)

ナビゲーションに移動 検索に移動

計算機科学において、属性(ぞくせい、: attribute)とはオブジェクト、要素、またはファイルプロパティを定義する仕様のことである。また、これらの所与のインスタンスについて、属性によって特定のの参照または設定ができる。

より正確には、属性はメタデータと見なすべきである。しかし実際の利用において、議論の対象となっているテクノロジーによってはプロパティの同義語として扱われることがあり、実際にそう扱われることが多い。

命名された属性には、オペレーションと呼ばれるルールセットが関連付けられる。文字が合計されたり整数配列が画像オブジェクトとして操作、処理されたりすることはない。また、テキストが浮動小数点として処理されることもない。 従って、オブジェクト定義はデータ型付けを課すことで拡張できる。

表示形式、既定値、正当なオペレーション (ルール) と制約 (「ゼロ除算は許容されない」) は、すべて属性の定義と潜在的に関係しており、あるいは逆に、そのオブジェクトの型の属性として説明できる。 JPEGファイルはPNGと同じオペレーションでデコードされることはないし、浮動小数点数は型付けされたlong整数に適用されるルールに基づいて操作されることはない。

たとえばコンピュータグラフィックにおいては、線オブジェクトは太さ (実数値)、色 (茶や緑といった説明的な値、またはRGB等の色モデルで定義される値)、破線、等の属性を持ち得る。円オブジェクトは、同様の属性に加えて円と半径で定義することができる。

アトリビュートの使用方法

C#

C#プログラミング言語では、属性はフィールドあるいはアセンブリメンバー、そしてといったコードブロックに付属するメタデータであり、Javaアノテーションに相当する。属性はコンパイラからも、リフレクションによってプログラムからもアクセスできる。

C#では、横断的な問題や仕組みまたはプラットフォームのその他の用途に対応するために属性が使用されている例が多く見られる。このせいで、これが意図された唯一の使用目的であるという誤った印象が生まれている。属性でabstract、sealed、またはpublic等の属性を拡張できる。[1]

メタデータとしての属性の具体的な用途は開発者に委ねられており、任意のアプリケーション、クラス、そしてメンバーに関するインスタンス固有でない幅広い情報を網羅することができる。任意の属性をプロパティとして公開するかどうかは、属性をより大きなアプリケーションフレームワークの一部として使うかどうかという決定と同様、開発者に委ねられている。

属性はSystem.Attributeから派生したクラスとして実装される。COMとの相互運用、遠隔手続き呼出し (RPC)、シリアル化といったCLRサービスによって使用されることが多く、また、実行時に問い合わせることができる。

この例はC#での属性定義のやり方を示すものである。

[Obsolete("Use class C1 instead", IsError = true)]  // Cが廃止である旨の
public class C {...}                                // コンパイラーメッセージが表示される

public class ObsoleteAttribute: Attribute {         // このクラス名は末尾に "Attribute" が含まれるが
  public string Message{ get; }                     // "Obsolete" だけで使用できる
  public bool IsError{ get; set; }
  public ObsoleteAttribute() {...}
  public ObsoleteAttribute(string msg) {...}
  public ObsoleteAttribute(string msg, bool error) {...}}

[Obsolete]
[Obsolete("This is obsolete")]
[Obsolete("This is obsolete", false)]
[Obsolete("This is obsolete", IsError = false)]

上記の最初の文字列型のパラメーターのような位置指定パラメーターは、属性のコンストラクターのパラメーターである。この例のブール値のパラメーターのような名前付きパラメーターは属性のプロパティであり、定数値でなければならない。

属性はXML文書と比較対照したい。XML文書においては、メタデータは定義されるがコンパイル済みアセンブリには含まれないためにプログラム的にアクセスすることができない。

checked属性とチェックボックスのプロパティの変化を表示する。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>attr demo</title>
  <style>
  p {
    margin: 20px 0 0;
  }
  b {
    color: blue;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p></p>
 
<script>
$( "input" )
  .change(function() {
    var $input = $( this );
    $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" +
      ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" +
      ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" );
  })
  .change();
</script>
</body>
</html>

クリックする前

.attr( 'checked' ): checked
.prop( 'checked' ): false
.is( ':checked' ):  false

クリックした後

.attr( 'checked' ):   checked
.prop( 'checked' ):    true
.is( ':checked' ):     true

マルチバリューデータベース

脱リレーショナルまたはマルチバリューのデータベースシステムの多くは、SQLと比べると、テーブルはファイル、行はアイテム、列は属性となっている。データベースとコードの両方において、属性はバリューとサブバリューをさらに含めるよう定義できるものの、プロパティおよび変数と同意である。

こうしたデータベースの元祖はPickオペレーティングシステムであった。現在のプラットフォームには、たとえばRocket U2のUniverseとInterSystemsのCachéの2つがある。

XML

XMLにおいては、属性は開始タグまたは空要素タグ内に存在する名前と値の組を構成するマークアップである。HTMLやXML等のマークアップ言語では、データやデータフォーマットの記述に属性が使われる。

好例は値をプロパティ (要素) に代入するXML処理である。ただし、要素の値は要素自体の中ではなく、(別個の) 終了タグより前に来る。要素自体は多数の属性セット (NAME = "IAMAPROPERTY") を持つ場合がある。

問題の要素が別の要素 (たとえば CUSTOMER) のプロパティ (CUSTOMER_NAME) だと考えられる場合、その要素は独自の属性 (プロパティ) を0個以上持つことができる (CUSTOMER_NAMETYPE = "KINDOFTEXT" 型である)。

関連項目

出典

  1. ^ Advanced C#: Variable Number of Parameters”. Institut für Systemsoftware, Johannes Kepler Universität Linz, Fachbereich Informatik. p. 44 (2002年3月25日). 2011年8月8日閲覧。

「属性 (コンピューティング)」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「属性_(コンピューティング)」の関連用語

属性_(コンピューティング)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



属性_(コンピューティング)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの属性 (コンピューティング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS