C# インターフェース IAlarm、IClockを実装しなさい。 - FC2ブログの有料プランで素人が雑記ブログで記事書きまくる

C# インターフェース IAlarm、IClockを実装しなさい。

cccc
C# インターフェースIAlarm、IClockを実装しなさい。

どうも、エフロン君です。プログラミングの記事です。C#言語を使用しています。
今回はC#の問題に対して私なりの答えを示していきたいと思います。
※コードの書き方は一つではないため、悪魔で一例をここに掲載するだけです。

コードを書く上で私は Microsoft Visual Studioを使用しています。
また、コンソールアプリ(.NET Framework)を利用してコードを書いています。

私のコードが正しいという確証はないので参考程度にしてください。
コードの書き方は人それぞれであるため、どれが正しくて、まとめられているのかなどは主観になってくることです。
私のコードがあなたの役に立つことを祈っています。是非参考に!

今回の問題は、
「インターフェースIAlarm、IClockを実装しなさい。」
これを解いていきたいと思います。

@Program.csは
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob502
{
class Program
{
static void Main(string[] args)
{
AlarmClock ac = new AlarmClock(); // アラーム付き時計クラスのインスタンスを生成
IAlarm ar = (IAlarm)ac;
IClock cl = (IClock)ac;
FuncAlarm(ar);
FuncClock(cl);
}
// アラームとしての処理
public static void FuncAlarm(IAlarm alarm)
{
alarm.SetAlarm(); // アラームのセット
alarm.Alarm(); // アラームを鳴らす
alarm.StopAlarm(); // アラームを止める
}
// 時計としての処理
public static void FuncClock(IClock clock)
{
clock.AdjustTime(); // 時間を調整する
clock.ShowTime(); // 時間を表示する
}
}
}

@AlarmClock.csは
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob502
{
class AlarmClock : IAlarm, IClock
{
public void Alarm()
{
Console.WriteLine("アラームを鳴らす");
}
public void SetAlarm()
{
Console.WriteLine("アラームをセットする");
}
public void StopAlarm()
{
Console.WriteLine("アラームを止める");
}
public void ShowTime()
{
Console.WriteLine("時刻を知る");
}
public void AdjustTime()
{
Console.WriteLine("時刻を修正する");
}
}
}

@IAlarm.csは
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob502
{
interface IAlarm
{
void SetAlarm();
void Alarm();
void StopAlarm();
}
}

@IClock.csは
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob502
{
interface IClock
{
void AdjustTime();
void ShowTime();
}
}


以上です。
ぜひ参考になればと思います。
解説や説明はないのでわからない部分は自力で頑張っていただく形になります。よろしくお願いいたします。
(間違っていたらすいませんorz)
それでは頑張ってください。以下、参考までに
今なら無料体験会実施中!!一度参加して自分の実力を測ってみよう!
ネットワークエンジニア始めるならネットビジョンアカデミー(NVA)
中高生向けオンラインのプログラミングスクール【TechAcademyジュニア】








関連記事

コメント

非公開コメント

エフロン君

どうも、エフロン君です。 来年から社会人になる国公立大学の大学生です!仕入れた情報や自分が学んできたうえで感じたことなど記載していくので是非見ていってください!


Twitterフォローもよろしくね

よく閲覧されている関連記事はこちらから




にほんブログ村 大学生日記ブログ 大学4年生へにほんブログ村 投資ブログ 仮想通貨マイニングへ
にほんブログ村 就職バイトブログ 大学新卒の就職・就職活動へ


1日1回クリックして応援してくれると嬉しいです。

こちらもよろしく!
このエントリーをはてなブックマークに追加 Share on Google+

訪問者数

bitFlyerにすれば失敗しない!

bitFlyer ビットコインを始めるなら安心・安全な取引所で

GMOなら安心して取引可能!

無料で初めてリスクなし!?

オススメのポイントサイトです。
ポイントでお小遣い稼ぎ|ポイントタウン

人気No1ポイントサイト!

モッピー!お金がたまるポイントサイト

Amazonでお得にゲームを買おう