面向对象
十七、面向对象
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等语法类似的效果。
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15676749.html