objectとは?

Weblio 辞書 > コンピュータ > IT用語辞典 > objectの意味・解説 

オブジェクト

【英】object

オブジェクトとは、操作対象となっているデータ、または、オブジェクト指向考え方においてプログラムが扱う対象のことである。

オブジェクトは、いわゆる物体」や「対象」といった意味であるが、現実世界存在する事象概念を指す場合もあるし、そうした事象概念モデルとして再現したものや、さらには現実世界には存在せずにモデル上のみに存在する何物かを指すこともある。

Microsoft Officeアプリケーションでは、文書挿入できる図表ワードアートなどがオブジェクトと呼ばれている。しかしIT用語としてオブジェクトと言った場合には、オブジェクト指向とりわけオブジェクト指向プログラミングについて言及されていることがほとんどである。

オブジェクト指向プログラミングにおけるオブジェクトとは、データ属性)と機能手続き)をひとかたまりにした実体のことである。オブジェクトは、集合としての実体である「クラス」と、個としての実体である「インスタンス」という形で捉えることができる。

オブジェクト指向プログラミングでは、既存のオブジェクトを再利用したり、新たに作成したオブジェクトを組み合わせて、オブジェクト間でメッセージ情報)をやり取りすることで処理を実行させる。オブジェクトを利用して形でプログラム作成していくことで、プログラマ個々のオブジェクトの内部構造動作原理詳細知らなくても、その機能利用できる。同時にプログラム再利用が容易になるため、ソフトウェア開発生産性飛躍的に向上するといわれている。

なお、オブジェクトやクラスインスタンス概念や定義は、オブジェクト指向言語種類によってニュアンス異なっていることがあり、必ずしも定説になっているとは限らないため、注意要する

パソコン向けのオペレーティングシステムOS)の世界では、IBMOS/2でオブジェクトの概念いち早く導入され、アイコンフォルダデータファイルデバイスウィンドウプログラムなど、ユーザ操作対象となるものがすべてオブジェクトとして扱われた。OS/2GUIは、当時競合であったWindows 95Mac OS見かけ上の大きな違いはなかったが、内部的には、オブジェクト指向によってユーザーが容易にカスタマイズできるという特徴備えていた。

プログラミングのほかの用語一覧
オブジェクト指向:  インスタンス化  インターフェース型  インスタンス  オブジェクト  オブジェクト指向  オーバーライド  CORBA

object アプレットの読み込み

 
機能と値 HTML * Windows Macintosh
テキスト: アプレット名を指定する IE3,4,5,5.5,6 NS4,6 IE3,4,4.5 NS4,6

適応要素applet

アプレットの名前を指定してページ読み込ませる属性。非推奨とされています。

※ HTML表記
◎: HTML4.01Strictで定義されている必須の属性と値
○: HTML4.01Strictで定義されている属性と値
▽: HTML4.01Transitionalの属性と値(非推奨

<object> 〜 </object> オブジェクトタグ

HTML仕様 : HTML4.01Strict

属性機能と値   DTD ※
data URIオブジェクトとして配置するデータURI指定する
classid URIJava VM各種プラグイン実行プログラムURI指定する
archive URIオブジェクト関連するファイルURI指定する
codebase URIarchive属性使用されている相対パス基準となる URI指定
type MIMEタイプdata属性指定されるデータMIMEタイプ指定
codetype MIMEタイプclassid属性指定される実行プログラムMIMEタイプ指定
declare 属性値なし: オブジェクト宣言のみでプログラム実行ないよう設定
standby オブジェクトダウンロード中に表示させる文字指定
tabindex 数字Tabキーによる移動順序指定
usemap URImap要素で定義されるイマージマップの URI指定
name 名前: オブジェクトの名前を指定する
width ピクセルオブジェクト横幅指定する
height ピクセルオブジェクトの高さを指定する
align 位置オブジェクト文字との位置関係指定する
  top オブジェクトと上と文字の上揃え  
  middle オブジェクト中心に文字ベースライン揃え  
  bottom オブジェクトの下に文字ベースライン揃え  
  left オブジェクトを左に配置し、右側に文字回りこむ  
  right オブジェクトを右に配置し、左側に文字回りこむ  
border ピクセル: オブジェクト線の太さ指定する
hspace ピクセルオブジェクト左右余白指定する
vspace ピクセル: ;オブジェクトの上下の余白指定する
汎用属性 idclasslangtitlestyle属性など

object要素は、画像アプレット動画、他のHTML文書などさまざまなデータ外部アプリケーションHTML文書埋め込むという汎用的性質を持っています。つまり、imgappletこれまでの別々の要素で扱われていたデータを、一括して同じタグで処理しようとするものです。

そのためデータ形式に応じて様々な属性が定義されていますが、実際のところブラウザ側では、あまり対応がなされていないのが現状で、こうした現実には驚くばかりです。

また、head要素 内での使用も可能ですが、Webブラウザ上に表示しないものに限られます。classid属性data属性実行パラメータ引き渡すことの動作保証はされないため、param要素指定することが推奨されています。

下記HTMLコードFLASHオブジェクト示したものです。(参考までに記述)

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=3,0,0,0" width=598 height=330>
<param name=movie value="sample.swf">
<param name=quality value=high>
<param name=bgcolor value=#ffffff>
</object>
※ DTD表記
◎: HTML4.01Strictで定義されている必須の属性と値
○: HTML4.01Strictで定義されている属性と値
▽: HTML4.01Transitionalの属性と値(非推奨

Object クラス

.NET Framework クラス階層すべてのクラスサポートし、派生クラス下位レベルサービスを提供します。これは、.NET Framework の全クラス基本クラスであり、型階層ルートです。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

通常、各言語では、クラスObject継承宣言する必要はありません。継承暗黙的であるためです。

.NET Framework では、すべてのクラスObject から派生するため、システム内のオブジェクトは、Object クラスで定義されているすべてのメソッド使用できます派生クラスでは、これらのメソッドのうち、次のメソッドオーバーライドできます

パフォーマンスに関する考慮事項

オブジェクト任意の型を処理する必要のあるクラス (コレクションなど) をデザインする場合Object クラスインスタンス受け入れクラス メンバ作成できます。ただし、型のボックス化およびボックス化解除プロセスによって、パフォーマンス コスト発生します。新しクラス特定の値型頻繁に理することがわかっている場合は、次の 2 つの方法いずれか使用することで、ボックス化コスト最小限抑えることができます

1 つ目の方法は、Object 型を受け入れ一般的なメソッドと、クラス頻繁に理することが予想される各値型受け入れる、型固有の一連のメソッド オーバーロード作成することです。呼び出し元のパラメータ型を受け入れる型固有のメソッド存在する場合ボックス化発生せず、その型固有のメソッド呼び出されます。呼び出し元のパラメータ型に一致するメソッド引数がない場合には、パラメータボックス化され、一般的なメソッド呼び出されます。この方法では、CLS 準拠メソッド生成されます。

もう 1 つ方法は、ジェネリック使用するようにクラスとそのメソッドデザインすることです。クラスインスタンス作成し、ジェネリック型引数指定すると、共通言語ランタイムによってクローズ ジェネリック型作成されます。ジェネリック メソッドは型固有のメソッドであるため、呼び出しパラメータボックス化せずに呼び出すことができますこの方法では、.NET Framework Version 2.0 の CLS準拠しないメソッド生成されます。

使用例使用

Object クラスから派生した Point 型を定義し、Object クラス仮想メソッド多くオーバーライドする例を次に示します。また、この例は、Object クラス多数静的メソッドインスタンス メソッド呼び出す方法示しています。

using System;

// The Point class is derived from System.Object.
class Point 
{
    public int x, y;

    public Point(int x, int
 y) 
    {
        this.x = x;
        this.y = y;
    }
    
    public override bool Equals(object obj)
 
    {
        // If this and obj do not refer to the same type, then they
 are not equal.
        if (obj.GetType() != this.GetType())
 return false;

        // Return true if  x and y fields match.
        Point other = (Point) obj;
        return (this.x == other.x) &&
 (this.y == other.y);
    }

    // Return the XOR of the x and y fields.
    public override int GetHashCode() 
    {
        return x ^ y;
    }

    // Return the point's value as a string.
    public override String ToString() 
    {
        return String.Format("({0}, {1})", x, y);
    }

    // Return a copy of this point object by making a simple field copy.
    public Point Copy() 
    {
        return (Point) this.MemberwiseClone();
    }
}

public sealed class App {
    static void Main() 
    {
        // Construct a Point object.
        Point p1 = new Point(1,2);

        // Make another Point object that is a copy of the first.
        Point p2 = p1.Copy();

        // Make another variable that references the first Point object.
        Point p3 = p1;

        // The line below displays false because p1 and p2 refer to
 two different objects.
        Console.WriteLine(Object.ReferenceEquals(p1, p2));

        // The line below displays true because p1 and p2 refer to two
 different objects that have the same value.
        Console.WriteLine(Object.Equals(p1, p2));
      
        // The line below displays true because p1 and p3 refer to one
 object.
        Console.WriteLine(Object.ReferenceEquals(p1, p3));
        
        // The line below displays: p1's value is: (1, 2)
        Console.WriteLine("p1's value is: {0}", p1.ToString());
    }
}

// This code produces the following output.
//
// False
// True
// True
// p1's value is: (1, 2)
using namespace System;

// The Point class is derived from System.Object.
ref class Point
{
public:
    int x;
public:
    int y;

public:
    Point(int x, int y)
    {
        this->x = x;
        this->y = y;
    }

public:
    virtual bool Equals(Object^ obj) override
    {
        // If this and obj do not refer to the same type,
        // then they are not equal.
        if (obj->GetType() != this->GetType())
        {
            return false;
        }

        // Return true if  x and y fields match.
        Point^ other = (Point^) obj;
        return (this->x == other->x)
 && (this->y == other->y);
    }

    // Return the XOR of the x and y fields.
public:
    virtual int GetHashCode() override 
    {
        return x ^ y;
    }

    // Return the point's value as a string.
public:
    virtual String^ ToString() override 
    {
        return String::Format("({0}, {1})", x, y);
    }

    // Return a copy of this point object by making a simple
    // field copy.
public:
    Point^ Copy()
    {
        return (Point^) this->MemberwiseClone();
    }
};

int main()
{
    // Construct a Point object.
    Point^ p1 = gcnew Point(1, 2);

    // Make another Point object that is a copy of the first.
    Point^ p2 = p1->Copy();

    // Make another variable that references the first
    // Point object.
    Point^ p3 = p1;

    // The line below displays false because p1 and 
    // p2 refer to two different objects.
    Console::WriteLine(
        Object::ReferenceEquals(p1, p2));

    // The line below displays true because p1 and p2 refer
    // to two different objects that have the same value.
    Console::WriteLine(Object::Equals(p1, p2));

    // The line below displays true because p1 and 
    // p3 refer to one object.
    Console::WriteLine(Object::ReferenceEquals(p1, p3));

    // The line below displays: p1's value is: (1, 2)
    Console::WriteLine("p1's value is: {0}", p1->ToString());
}

// This code produces the following output.
//
// False
// True
// True
// p1's value is: (1, 2)
継承階層継承階層
System.Object
   派生クラス
スレッド セーフスレッド セーフ

この型の public static (Visual Basic では Shared) メンバは、マルチスレッド操作に対して安全です。インスタンス メンバスレッド セーフになるかどうか保証されていません。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Object コンストラクタ


Object メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Equals オーバーロードされます。 2 つの Object インスタンス等しかどうか判断します。
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。
パブリック メソッド GetType 現在のインスタンスType取得します。
パブリック メソッド ReferenceEquals 指定した複数Object インスタンス同一かどうか判断します。
パブリック メソッド ToString 現在の Object を表す String返します。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Finalize Objectガベージ コレクションにより収集される前に、その Objectリソース解放し、その他のクリーンアップ操作実行できるようにします。
プロテクト メソッド MemberwiseClone 現在の Object簡易コピー作成します。
参照参照

Object メンバ

.NET Framework クラス階層すべてのクラスサポートし、派生クラス下位レベルサービスを提供します。これは、.NET Framework の全クラス基本クラスであり、型階層ルートです。

Object データ型公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド Object Object クラス新しインスタンス初期化します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Equals オーバーロードされます。 2 つの Object インスタンス等しかどうか判断します。
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。
パブリック メソッド GetType 現在のインスタンスType取得します。
パブリック メソッド ReferenceEquals 指定した複数Object インスタンス同一かどうか判断します。
パブリック メソッド ToString 現在の Object を表す String返します。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Finalize Objectガベージ コレクションにより収集される前に、その Objectリソース解放し、その他のクリーンアップ操作実行できるようにします。
プロテクト メソッド MemberwiseClone 現在の Object簡易コピー作成します。
参照参照

オブジェクト

英語 object

3次元モデル作成に必要なすべての形状要素をいう。線、面、それを構成する自由曲線など。カーデザインモデリングではコンピユーター内のモデルデータ量も大きくなるため、通常モデリング作業をしやすくするレイヤー機能を使う。

※「大車林」の内容は、発行日である2004年時点の情報となっております。

オブジェクト

(object から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/08/23 17:34 UTC 版)

オブジェクト (Object)




「オブジェクト」の続きの解説一覧




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

辞書ショートカット

カテゴリ一覧

全て

ビジネス

業界用語

コンピュータ

電車

自動車・バイク

工学

建築・不動産

学問

文化

生活

ヘルスケア

趣味

スポーツ

生物

食品

人名

方言

辞書・百科事典

すべての辞書の索引

「object」の関連用語

objectのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   
検索ランキング

画像から探す

フォアラウフ配置

ウォークマン携帯

デュアルリンク式サスペンション

Cintiq Companion

静的アンバランス

Ultrium

直列エンジン

GALAXY S 4





objectのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2017 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2017 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリオブジェクトの記事を利用しております。
WEB for beginnerWEB for beginner
Copyright (C) 2002~2017 banban@scollabo.com
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2017 Microsoft.All rights reserved.
三栄書房三栄書房
Copyright c San-eishobo Publishing Co.,Ltd.All Rights Reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのオブジェクト (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2017 Weblio RSS