2018年9月23日日曜日

開発環境

初めてのC# 第2版 (Jesse Liberty (著)、Brian MacDonald (著)日向 俊二 (翻訳)、オライリージャパン)の10章(継承とポリモーフィズム)、11.9(練習問題)、問題11-3.をGoで取り組んでみる。

コード(Emacs)

package main

import "fmt"

type sound interface {
 ring()
}
type telephone struct {
 phonetype string
}

type digitalPhone struct {
 telephone
}

func (dp digitalPhone) ring() {
 fmt.Println("Digital Phone: " + dp.phonetype)
}

type talkingPhone struct {
 telephone
}

func (tp talkingPhone) ring() {
 fmt.Println("Talking PHone: " + tp.phonetype)
}

func main() {
 dp := digitalPhone{telephone{phonetype: "Digital"}}
 tp := talkingPhone{telephone{phonetype: "Talking"}}
 ps := []sound{dp, tp}

 for _, p := range ps {
  p.ring()
 }
}

入出力結果(Terminal)

$ go run sample3.go
Digital Phone: Digital
Talking PHone: Talking
$

0 コメント:

コメントを投稿