第15回 C#入門 C#でインターフェイスを扱ってみよう!
実践編では実際にC#を用いてwebアプリを開発して解説を行っております。実践編に関しましては有料ではありますが、税込320円という低価格で技術を身につけれますので是非気になる方はwebサイトをご覧ください。
それではインターフェイスについて説明させて頂きます。この動画を最後まで見て頂けましたらあなたもオブジェクト思考を理解できるようになります。
インターフェイスとは簡単に言いますと、先日勉強した。オブジェクト指向の考え方を利用するものです。オブジェクト指向というのはプログラムを変数のように扱うことと説明させて頂きました。インターフェイスはその変数(プログラム)を利用するというイメージです。つまり、どんなに複雑なプログランムが組まれていようが、その中身まで把握しなくても良いというメリットがあります。
インターフェイスの基本式を説明致します。
interface インターフェイス名
{
実装内容
}
注意点として、インターフェイス名は一般に先頭に大文字の I を記載します。私の例でも I を記載していますので是非皆さんも真似して下さい。 そしてインターフェイスの使用方法は
Class クラス名:インターフェイス名
{
}
このようにクラス名の後に先ほど決めたインターフェイス名を記載します。インターフェイスを利用する場合はインターフェイスで決めた実装は必ず記載しないとエラーになります。では具体的な実際のプログラムを見ていきましょう。試しにこのようにプログラムを記載して見ます。
using System;
namespace Program
{
class Sample
{
static void Main(string[]args)
{
// Negotiation discussion = new Negotiation();
// discussion.agreement();
}
}
interface IJob
{
void agreement();
}
class Negotiation : IJob
{
public void agreement()
{
Console.WriteLine("yes");
}
public void noagreement()
{
Console.WriteLine("No");
}
}
}
よく見て見ますと
ここでは、IJobというインターフェイス名を定義しています。そしてこのNegotiationクラスにインターフェイスという制約つけています。この制約をつけていますので、このNegotiationクラスにはインターフェイスに実装されている。このvoid agreementを実装しなければいけません。
試しにこのインターフェイスで決めてある実装部分void agreementをコメントアウトして見たいと思います。
using System;
namespace Program
{
class Sample
{
static void Main(string[]args)
{
// Negotiation discussion = new Negotiation();
// discussion.agreement();
}
}
interface IJob
{
void agreement();
}
class Negotiation : IJob
{
// public void agreement()
// {
// Console.WriteLine("yes");
// }
public void noagreement()
{
Console.WriteLine("No");
}
}
}
これで実行して見ますと、ビルドエラーが発生しました。
これは、このNegotiationというクラスにインターフェイスで決めたメソッドが実装していないですよというエラーです。
ですので、インターフェイスで制約をいれた場合は必ずインターフェイスで実装しているメッソドは実装する必要があります。
ここでインターフェイスを定義する必要がないと思った方いると思います。
仮にこのように記載しても同じ処理になるからです。
using System;
namespace Program
{
class Sample
{
static void Main(string[]args)
{
Negotiation discussion = new Negotiation();
discussion.agreement();
}
}
interface IJob
{
void agreement();
}
class Negotiation : IJob
{
public void agreement()
{
Console.WriteLine("yes");
}
public void noagreement()
{
Console.WriteLine("No");
}
}
}
このようにインターフェイスを記載しなくてももちろん同じ結果が出力されます。
つまりインターフェイスのメリットは主に複数の人数で開発をする場合に多く使用されます。また複雑なプログラムであってもインスタンス名をみるだけでどのような処理がされているかの確認ができるというメリットもあります。
今回はインターフェイスについてということで、インターフェイスの考え方の説明から、実際にインターフェイスを用いてクラスを扱って見ました。インターフェイスの特徴では、クラスに制約をすることができるということでした。次回からはpythonの基礎編講座となっております。是非ご覧ください。
以上で、C#入門を終了と致します。ご静聴ありがとうございました(๑╹ω╹๑ )
コメント