2018年9月22日土曜日

開発環境

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

コード(Emacs)

package main

import "fmt"

type sound interface {
 ring()
}
type telephone struct {
 phonetype string
}
func (t telephone) ring() {
 fmt.Println("Ringing")
}
type electronicPhone struct {
 t telephone
}
func (ep electronicPhone) ring() {
 ep.t.ring()
 fmt.Printf("Ringing the %s\n", ep.t.phonetype)
}
func main() {
 t := telephone{"tel"}
 ep := electronicPhone{telephone{"Digital"}}
 xs := []sound{t, ep}

 for _, x := range xs {
  x.ring()
  fmt.Println()
 }
}

入出力結果(Terminal)

$ go run sample2.go
Ringing

Ringing
Ringing the Digital

$

0 コメント:

コメントを投稿