首页 > 其他 > 详细

Golang(笔记) 面向对象

时间:2014-05-18 19:35:34      阅读:434      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
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())
}
bubuko.com,布布扣

 

Golang(笔记) 面向对象,布布扣,bubuko.com

Golang(笔记) 面向对象

原文:http://www.cnblogs.com/yahue/p/3732544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!