開発環境
- OS X Lion - Apple(OS)
- Dart Editor (開発環境)
- Dart (プログラミング言語)
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の13章(新しいクラスの作成と既存クラスの変更), 13.2(クラスの作り方)、13.3(インスタンス変数)、13.4(newとinitialize)、13.5(ベビードラゴンゲーム)、13.6(練習問題の続き)、オレンジの木をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
オレンジの木
コード
sample.dart
class OrangeTree{ // privacyに関する注意点 // Dartはclass levelではなく、library levelでprivacyを管理 // なのでアンダースコアを変数名の先頭に付加しても同一library内ならclassの外からアクセス可能 // 他のlibraryからは、アンダースコアが先頭に付加された変数名にはアクセスできない。 int _height, _orange_count, _age; bool _alive; OrangeTree(){ _height = 0; _orange_count = 0; _age = 0; _alive = true; print('オレンジの木を植えました。'); } int height(){ return _height; } void oneYearPasses(){ _orange_count = 0; print('1年が経過しました。'); if (_alive){ if(_age == 10){ _alive = false; _height = null; } if (_alive){ _age += 1; _height += 1; if(_age >= 5){ _orange_count = _age - 4; } } } } int countTheOrange(){ return _orange_count; } String pickAnOrange(){ if (_alive){ if (_age >= 5){ if (_orange_count > 0){ _orange_count -= 1; return 'とてもおいしいオレンジの実が採れました。'; } return '今年はもう採れる実がありません。'; } return '樹齢${_age}なので、まだ採れる実がありません。'; } return '木はもう枯れているので実はとれません。'; } } void main(){ var ot = new OrangeTree(), n = 11, i, j, m; for (i = 0; i < n; i += 1){ ot.oneYearPasses(); m = ot.countTheOrange(); print('高さ: ${ot.height()} 実の数: ${m}個'); for (j = 0; j < m + 1; j += 1){ print(ot.pickAnOrange()); } } }
入出力結果
オレンジの木を植えました。 1年が経過しました。 高さ: 1 実の数: 0個 樹齢1なので、まだ採れる実がありません。 1年が経過しました。 高さ: 2 実の数: 0個 樹齢2なので、まだ採れる実がありません。 1年が経過しました。 高さ: 3 実の数: 0個 樹齢3なので、まだ採れる実がありません。 1年が経過しました。 高さ: 4 実の数: 0個 樹齢4なので、まだ採れる実がありません。 1年が経過しました。 高さ: 5 実の数: 1個 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: 6 実の数: 2個 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: 7 実の数: 3個 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: 8 実の数: 4個 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: 9 実の数: 5個 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: 10 実の数: 6個 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 とてもおいしいオレンジの実が採れました。 今年はもう採れる実がありません。 1年が経過しました。 高さ: null 実の数: 0個 木はもう枯れているので実はとれません。
0 コメント:
コメントを投稿