GOオブジェクト指向言語のオブジェクト指向演習02 07 ---

パッケージメイン

輸入「FMT」

/ *
IPersonは、3つの抽象メソッドは、睡眠が食べると飲み物定義されたインタフェースを定義します。
リアライズの睡眠を食べ、飲む方法、IPerson実装クラスPersonを定義します。
労働方法ワーク()自分の仕事出力の出力である(出力文字列)、および残りのレスト(方法)でIWorker労働者インタフェースを定義します。
・IWorker実装サブクラス三つの異なる職種:プログラマーコーダ、教師教師、農家ファーマー、および労働者のコレクションを作成します。
・プログラマ、教師、農家はname属性を持っている、また、スキルの属性を持っています。
それはプログラマー、教師、休息、食事やドリンクの農家の睡眠の仕事である場合・金曜日、土曜日、日曜日にすべての作業月曜日を実装します。
* /

タイプIPersonインターフェース{
	食べる()
	ドリンク()
	睡眠()
}

型IWorkerインタフェース{
	// IPerson
	仕事()(出力文字列)
	残り()
}

Person型構造体{
	名前の文字列
	年齢はint
}

FUNC(P *人)(食べます){
	fmt.Printf( "%sは\ n個を食べている"、p.Name)
}
FUNC(P *人)ドリンク(){
	fmt.Printf( "%sのあるSWIG \ n" は、p.Name)
}
FUNC(P *人)スリープ(){
	fmt.Printf( "%sの睡眠\ n" は、p.Name)
}

型ワーカー構造体{
	スキル文字列
	出力文字列
	時間のint
	Zhicheng文字列
}

FUNC(W *ワーカー)ワーク()(出力文字列){
	fmt.Printf( "%sで%S、および出力%S \ n" は、w.Name、w.Skill、w.OutPut)
	リターンw.OutPut
}
FUNC(*ワーカーW)レスト(){
	fmt.Printf( "%sの休息\ n" は、w.Name)
}

タイプコーダ構造体{
	ワーカー
}

型教師のstruct {
	ワーカー
}

タイプファーマー構造体{
	ワーカー
} 

FUNCのmain(){
	労働者:=メイク([] IWorker、0)
	労働=アペンド(労働者、およびコーダ{人:人{名: "比尔"}、ワーカー:ワーカー{者:人{名: "比尔"}、スキル: "撸码艺术"、出力: "バグ"}})
	労働=アペンド(労働者、および教師{人:人{名: "潔馬毛"}、ワーカー:ワーカー{者:人{名: "潔馬毛"}、スキル: "教育"、出力: "人事"}})
	労働者= APPEND(労働者、&ファーマー{人:人{名: "ロングpingの弟"}、労働者:労働者{人:人{名: "ロングpingの兄弟が"}、スキル: "農業"、出力: "食"}} )

	iについて:= 1; I <= 7、I ++ {
		fmt.Printf( "何曜日\ nは%dは"、私は)
		もしI <= 5 {
			_ため、W:=範囲員{
				w.Work()
			}
		}他{
			/ * _ため、W:=範囲員{
				スイッチワット(タイプ){
				ケース*コーダー:
					w.Work()
				ケース*教師:
					w.Rest()
				ケース*ファーマー:
					農家:=ワット(*ファーマー)。
					farmer.Eat()
					farmer.Drink()
					farmer.Sleep()
				}
			} * /
			_ため、W:=範囲員{
				コーダ、OKであれば:= W(*コーダ); OK {。
					coder.Work()
				}他の教師たら、OK:=(*教師)W; {OK。
					teacher.Rest()
				}そうファームたら、OK:= W(*ファーマー); OK {。
					farm.Eat()
					farm.Drink()
					farm.Sleep()
				}
			}
		}
		fmt.Println()
	}
}

  出力:

今日では、週1
ビルはラインと庭芸術であり、出力BUG
傑毛馬は、教育、および出力の才能であります
龍平の弟は農業、食品の出力です。

今日では、週2
ビルはラインと庭芸術であり、出力BUG
傑毛馬は、教育、および出力の才能であります
龍平の弟は農業、食品の出力です。

今日では、週3
ビルはラインと庭芸術であり、出力BUG
傑毛馬は、教育、および出力の才能であります
龍平の弟は農業、食品の出力です。

今日では、4週
ビルはラインと庭芸術であり、出力BUG
傑毛馬は、教育、および出力の才能であります
龍平の弟は農業、食品の出力です。

今日では、週5
ビルはラインと庭芸術であり、出力BUG
傑毛馬は、教育、および出力の才能であります
龍平の弟は農業、食品の出力です。

今日では、週6
ビルはラインと庭芸術であり、出力BUG
休憩を取って傑毛馬
龍平の弟を食べています
龍平の弟はがぶ飲みしています
龍平の兄が眠っています

今日では、週7
ビルはラインと庭芸術であり、出力BUG
休憩を取って傑毛馬
龍平の弟を食べています
龍平の弟はがぶ飲みしています
龍平の兄が眠っています

  

おすすめ

転載: www.cnblogs.com/yunweiqiang/p/11933118.html