|
▼ ch2-2-1 継承とインスタンス ▼
「this.Text = "Hello World!";」が典型例で、Formクラスは含まれるプロパティやコンストラクタ、メソッド、イベントなど様々なパーツをあたかも、そのクラスにコードが書かれているかのように提供し、開発者はそのクラスライブラリを利用して独自コードを追加しWindowsフォームを出力させることが出来ます。 1: "Hello World!"をWindowsフォームで
using System;
これらを踏み込んで記すと、「派生クラス(CreateForm.MainForm)に基本クラス(System.Windwos.Forms.Form)を継承させて派生クラスであるMainFormの機能を拡張させている」となり、この様な機構があることによって、Formクラスの内容を開発者自身が実装することが不要となり、相当のコードと共に労働量を減少さることを意味します。 基本クラスにバグがあれば元も子もない感覚はありますが、コードを削減することにより問題の特定は容易になります。その重要な役回りのためオブジェクト指向プログラミング(OOP)においての3本柱の1本と言われます。 2: 基本クラスと派生クラス
//Sampleを基本クラスとした、派生クラス。
Formは共通して利用されるべきなので、直接そのクラスを改変することは再利用性が失われるので避ける必要がありましたが、気を付けなければならないのは上記サンプルのように非常に単純なコードで実現することが可能ゆえ、開発者が多用する傾向が強くなることです。 その性質から共通性の作りこみを行わなければロジックが散在する難解なクラスが作成される恐れがあり、共通性が希少の場合は他の方法も検討するべきでしょう。 3: インスタンスの作成
public class HelloWorld
これらの回避策に継承を利用せずインスタンスを作成すると言った方法があります。単純な手段ですが、この方法の良いところは実行する箇所でインスタンスを作成するので、動作が明確に切り分けられる事です。 Continue
|
2008年ですね。[1]
自由なスレ[3]
2007年ですね。[1]
こみゅぷらす発足[1]
TechED2006 日記[5]
|
Copyright(C)2001-2008 FooPah!, All rights reserved. | |