C#でクラスを継承する方法をわかりやすく解説!基本構文と実装例
継承(Inheritance)とは、あるクラスをベースにして別のクラスを定義できるオブジェクト指向プログラミングの重要な機能です。継承を活用することで、コードの再利用性が高まり、アプリケーションの作成や保守が格段に容易になります。
継承の基本的な考え方
新しいクラスを作成する際、データメンバーやメンバー関数をすべてゼロから書く必要はありません。すでに存在するクラスのメンバーを引き継ぐ形で、新しいクラスを定義できます。
このとき、元となる既存のクラスを「基底クラス(Base Class)」、新しく作成されるクラスを「派生クラス(Derived Class)」と呼びます。
また、C#では1つのクラスが複数のインターフェースから派生することも可能です。これにより、複数の基底クラスやインターフェースからデータや機能を受け継ぐことができます。※ただし、クラスの多重継承はサポートされておらず、複数の継承元を持つ場合はインターフェースを使用します。
継承の実装例
それでは、具体的なサンプルコードを見てみましょう。ここでは、図形を表す Shape クラスを基底クラスとし、長方形を表す Rectangle クラスを派生クラスとして定義しています。
using System;
namespace InheritanceApplication {
class Shape {
public void setWidth(int w) {
width = w;
}
public void setHeight(int h) {
height = h;
}
protected int width;
protected int height;
}
// 派生クラス
class Rectangle: Shape {
public int getArea() {
return (width * height);
}
}
class Demo {
static void Main(string[] args) {
Rectangle Rect = new Rectangle();
Rect.setWidth(5);
Rect.setHeight(7);
// オブジェクトの面積を出力
Console.WriteLine("Total area: {0}", Rect.getArea());
Console.ReadKey();
}
}
}
コードのポイント
Shapeクラスには、幅と高さを設定するメソッドおよびprotected修飾子付きのフィールドが定義されています。Rectangleクラスはclass Rectangle : Shapeという構文でShapeを継承しています。コロン(:)の後に基底クラス名を記述するのがC#の継承構文です。protectedメンバーは派生クラスからアクセスできるため、Rectangle内のgetArea()メソッドでwidthとheightを直接参照できます。Mainメソッドでは、Rectangleのインスタンスを生成し、基底クラスから継承したsetWidth()とsetHeight()を呼び出して面積を計算しています。
実行結果
Total area: 35
このように、派生クラスは基底クラスの機能をそのまま利用できるため、重複したコードを書くことなく効率的にプログラムを構築できます。継承はC#のオブジェクト指向設計において非常に強力な仕組みなので、ぜひマスターしておきましょう。
-
ネットワークセキュリティはどれほど重要?学ぶ価値と必要性を徹底解説
ネットワークセキュリティとは何か?なぜ必要なのかネットワークセキュリティとは、ネットワーク、データ、そして各種デバイスを不正利用や攻撃から守るために設計されたあらゆる活動を指します。ハードウェアだけでなく、ソフトウェアも不可欠な要素です。その対象となる脅威は多岐にわたり、有害なファイルがネットワークへ侵入・浸透するのを防ぐとともに、正規ユーザーによるアクセスを適切に制御します。具体的には、物理的・ソフトウェア的・システム的な予防措置を講じることで、基盤となるネットワークインフラを不正アクセス、不正利用、故障、改ざん、破壊、不適切な情報開示から保護します。その結果、ユーザーのコンピュータやプログ
-
Androidでシングルトンクラスを使う方法をサンプルコード付きで解説
シングルトンデザインパターンとは?実装例に入る前に、まず「シングルトンデザインパターン」についておさらいしておきましょう。シングルトン(Singleton)とは、あるクラスのインスタンス生成をアプリケーション全体で1つだけに制限するデザインパターンです。主な用途としては、同時実行(並行処理)の制御や、アプリケーションがデータストアへアクセスするための中心的なアクセスポイントの作成などが挙げられます。この記事では、Androidアプリでシングルトンクラスを実際に使う方法を、ステップごとのサンプルコードとともに解説します。手順1:新規プロジェクトを作成するAndroid StudioでFile →