ベクトルドロー・レベルゼロ+

ホーム > コンピュータ > C#

図形描画クラスのクラス設計[C#]

作成日 2015.05.10
最終更新日 2015.05.10

概要

図形描画クラスの設計は、オブジェクト指向プログラミングでよく取り上げられます。 その理解を助けるためのリンクを集めてみました。内容は、C++のものが、多いです。

C#では、データを格納するデータ型と、そのデータを扱うメソッドをクラスにまとめる作業が必要です。 その作業の多くは哲学的で、難解なものです。使えそうなクラス構造、クラス設計のドキュメントを見つけたり、考えたりしたら、 きっちり、その内容を確保していく努力が必要になります。

一般的な、継承のパターンの2つの形式

継承には、2つの方向性があります。

カテゴリのディレクトリ構造

継承により、モデルが少しずつ複雑に進化していくパターン。 変数とメソッド(関数)をまとめる、クラスの本質的な構造。 「person」クラスから、「stuff」や「customer」を派生していく例で紹介されることが多い。

変数とメソッドを1つのクラスにまとめることで、変数値を変更する際に、その変数を適切かどうかを確認するなどの処理を隠ぺいするのが主な目的です。

メソッドのセット

具体的な対象をクラスの外に置くクラス。対象は、別のクラスの参照を外部から引数で取得する場合が多いです。仮想クラスで表現されます。 上で紹介した「カテゴリのディレクトリ構造」が、変数とメソッド(関数)をまとめる、クラスの本質的な構造では破綻する際に用いられる、増築された手法。 オブジェクト指向プログラミングの導入部で使われる、オブジェクト構造の説明の範疇に入らないので、混乱しやすいので注意が必要です。

図形描画クラスが、例示されることが多いですが、具体的なクラス設計まで踏み込んで説明しているものには、あまり出会わないので、 難しい、あるいは、説明しにくい概念であると推測されます。

変数構造が大きく変化するが、メソッドは、表面上変化しないとき、変数部分と、メソッド部分にクラスを分離するために用いられます。 C#では、仮想クラスとして考えるか、インターフェイスとして考えるか、どちらで実装するかよく考え、構造が簡略になり、実装が楽になる方を選択することが重要です。

インターフェイス

C#のインターフェイスは、.NetFrameworkのインターフェイスと異なり、処理の内容を記述できません。 どういった時に使うと便利か、具体的な使用例が思い浮かびません。 C#を使っていると、情報科学の成果が、ほとんど何の説明もなく唐突に存在しています。 背景と利用法に関する情報に出会わない限り、気にせずに、放置しておきましょう。

関連リンク

「図形描画 クラス 設計」で検索をかけるとヒットします。

ドローツールを作る(外部リンク)

カプセル化からオブジェクト指向、そしてC++(外部リンク)

継承とは?(外部リンク)

クラス設計だけでは描画できませんので、図形描画に関するリンクです。

クイック スタート: 図形の描画 (XAML)(外部リンク)

Wpf Cube Three Dee(外部リンク)

Drawing a Cube in WPF(外部リンク)

WPF 3D How to make a cube on each side of which is another picture?(外部リンク)

インターフェイスに関するリンクです。インターフェイスは、考え方やどのように使うかの情報が少ないように思えます。

インターフェイス (C# プログラミング ガイド)(外部リンク)

C#入門 第15回 インターフェイスの活用 (外部リンク)

C#入門 第4回 継承とインターフェイス(外部リンク)

ページトップへ
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system