码迷,mamicode.com
首页 > 其他好文 > 详细

Golang(笔记) 面向对象

时间:2014-05-18 19:36:55      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   java   

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(笔记) 面向对象

标签:style   blog   class   code   c   java   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!