開発環境
- 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 コメント:
コメントを投稿