開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の6章(インタフェースと抽象クラス - クラスに約束を守らせる)、プールパズル(p. 257)を取り組んでみる。
コード
MainPage.xaml.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace App2 { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); string result = ""; INose[] noses = { new Acts(), new Clowns(), new Of76() }; foreach (INose nose in noses) { result += nose.Ear() + " " + nose.Face + "\n"; } DisplayAlert("", result, "OK"); } } public interface INose { int Ear(); string Face { get; } } public abstract class Picasso : INose { private string face; public Picasso(string face) { this.face = face; } public virtual string Face => face; public virtual int Ear() { return 7; } } public class Clowns: Picasso { public Clowns() : base("Clowns") { } } public class Acts:Picasso { public Acts() : base("Acts") { } public override int Ear() { return 5; } } public class Of76:Clowns { public override string Face => "Of76"; } }
0 コメント:
コメントを投稿