标签:style blog class code c java
package main import ( "fmt" ) //对象定义 type Rect struct{ x,y float64 width ,height float64 } //对象方法实现 func (r *Rect) Area()float64{ return r.width*r.height } //Go语言没有构造函数的概念 //对象的创建通常交由一个全局的创建函数NewXXX来命名 标识构造函数 func NewRect(x,y,width,height float64) *Rect{ return &Rect{x,y,width,height} } //Go 也提供了继承 但是采用了组合的文法 称之为匿名组合 //匿名组合 示例 type Base struct{ Name string } func (base *Base) Foo(){ base.Name="Base Foo2" } func (base *Base)Bar(){ base.Name="Base Bar" } type Foo struct{ Base Name1 string } func (foo *Foo) Bar(){ foo.Base.Bar() } func main() { rect:=new(Rect) rect1:=&Rect{width:109,height:10} rect2:=&Rect{1,2,3,4} rect.width=19.9 rect.height=22.1 foo:=&Foo{} foo.Foo(); fmt.Println(foo.Name) fmt.Println(rect.Area()) fmt.Println(rect1.Area()) fmt.Println(rect2.Area()) }
Golang(笔记) 面向对象,布布扣,bubuko.com
标签:style blog class code c java
原文地址:http://www.cnblogs.com/yahue/p/3732544.html