開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(継承 - オブジェクトの系図)、自分で考えてみよう(p. 193)を取り組んでみる。
コード
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:App1" x:Class="App1.MainPage"> <StackLayout> <!-- Place new controls here --> <!-- <Label Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> --> </StackLayout> </ContentPage>
MainPage.xaml.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace App1 { public partial class MainPage { public MainPage() { InitializeComponent(); FireFintingMission(); BLT bLT = OrderMyBLT(); DisplayAlert("", bLT.ToString(), "cancel"); } public void FireFintingMission() { FirePlane firePlane = new FirePlane(); firePlane.TakeOff(); firePlane.AirSpeed = 192.5; firePlane.FillBucket(); } public BLT OrderMyBLT() { BLT sandwich = new BLT(); sandwich.Toasted = true; sandwich.SlicesOfBread = 3; sandwich.AddSideOfFries(); return sandwich; } } // 機能する文のみのコードに修正 public class Aircraft:ContentPage { public double AirSpeed; public double Altitude; public void TakeOff() { DisplayAlert("Aircraft", "TakeOff", "cancel"); } public void Land() { DisplayAlert("Aircraft", "Land", "cancel"); } } public class FirePlane: Aircraft { public double BucketCapacity; public void FillBucket() { DisplayAlert("FirePlane", "FillBucket", "cancel"); } } public class Sandwich { public bool Toasted; public int SlicesOfBread; public int CountCalories() { return 0; } } public class BLT: Sandwich { public int SlicesOfBacon; public int AmountOfLettuce; public int AddSideOfFries() { return 0; } } }
App.xaml
<?xml version="1.0" encoding="utf-8" ?> <Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="App1.App"> <Application.Resources> </Application.Resources> </Application>
App.xaml.cs
using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; [assembly: XamlCompilation (XamlCompilationOptions.Compile)] namespace App1 { public partial class App : Application { public App () { InitializeComponent(); // MainPage = new MainPage(); MainPage = new NavigationPage( new MainPage() { Title = "" }); } protected override void OnStart () { // Handle when your app starts } protected override void OnSleep () { // Handle when your app sleeps } protected override void OnResume () { // Handle when your app resumes } } }
0 コメント:
コメントを投稿