Skip to content

Instantly share code, notes, and snippets.

@idkqh7
idkqh7 / main.go
Last active August 29, 2015 14:10
Go言語のオーバーライドを味わうサンプル
package main
import "fmt"
func main() {
s := NewSuper("Super!")
fmt.Println(s.Get())
//基底クラスのgetから派生クラスのメソッドをオーバーライドして呼び出すことはできない
t := NewSub("Sub!")
fmt.Println(t.Get())
@idkqh7
idkqh7 / main.py
Last active August 29, 2015 14:10
Python3のオーバーライドを味わうサンプル
class Base:
def __init__(self, str):
self.str = str
def make_string(self):
return "Hi, " + self.str
def get(self):
return self.make_string()
@idkqh7
idkqh7 / main.go
Last active August 29, 2015 14:10
Goのインターフェースを味わうサンプル
package main
import "fmt"
func main() {
s := Impl{NewSuper("Super!")}
fmt.Println(s.Get())
//実装クラスのgetから派生クラスのメソッドを呼び出す
i := Impl{NewSub("Sub!")}
fmt.Println(i.Get())
@idkqh7
idkqh7 / main.go
Last active August 29, 2015 14:10
Go言語のインターフェースを味わう(Factory関数使わない版)
package main
import "fmt"
func main() {
s := Super{}
fmt.Println(s.Get())
//基底クラスのgetから派生クラスの関数をオーバーライドして呼び出すことはできない
t := Sub{}
fmt.Println(t.Get())