Loading

面向对象

十七、面向对象

go不是一个完全面向对象的语言,甚至没有类的概念。但是,这并不意味着go不支持面向对象,因为面向对象只是一种实现形式,只要实现了封装继承和多态,在使用上与其他面向对象语言就没有不同。

在go中,可以使用结构体取代类,使用接口实现多态,使用匿名字段提升实现继承。所以,go是完全可以做到面型对象编程的,毕竟面向对象只是编程思想。

type Animal struct {
	name string
	age  int
}

func New(name string, age int) Animal {
	return Animal{name: name, age: age}
}

我们可以这样定义,定义一个结构体,New函数返回这个结构体类型,直接调用New创建对象,达到与java等语法类似的效果。

posted @ 2021-12-11 19:05  yyyz  阅读(23)  评论(0编辑  收藏  举报