Golang(笔记) 面向对象
2014-05-16 17:01
316 查看
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学习笔记[2] 面向对象OOP
- Golang(笔记) 面向对象
- Java学习笔记1------面向对象的三个基本特征
- 没头没尾--项目开发笔记:面向业务的用户界面与面向对象的数据库如何连接
- Java学习笔记1------颠覆传统-面向对象的设计思想(序章)
- AS3.0基础学习笔记(4): 学习面向对象的思维
- 面向对象的JavaScript学习笔记
- AS3.0基础学习笔记(4): 学习面向对象的思维
- Java学习笔记1------面向对象
- C#笔记(4)---面向对象--类与继承
- Python学习笔记五(面向对象-类-方法-属性)
- 设计面向对象的可复用的软件原则-读《java与模式》笔记之一
- UML学习笔记(二):复习面向对象的一些基本概念
- [翻译]javascript学习笔记 (四)-面向对象的实现
- Java学习笔记1------用例子来说明面向对象和面向过程的区别
- [阅读笔记]面向对象的设计法则--法则1:优先使用(对象)组合,而非(类)继承 Favor Composition Over Inheritance
- C#笔记(4)---面向对象--类与继承
- UML学习笔记(二):复习面向对象的一些基本概念
- Java学习笔记1------面向对象的思维方法
- Lua学习笔记七——lua也面向对象