美文网首页
go 1.4 逐行讲解展示多态

go 1.4 逐行讲解展示多态

作者: 秸秆混凝烧结工程师 | 来源:发表于2021-12-12 20:27 被阅读0次

"""

package main

import (
"fmt"
)

// 指针
// 父类
type AnimalIF interface {
Sleep() // 睡觉
GetColor() string // 颜色
GetType() string // 种类
}

// 子类
type Cat struct {
color string // 颜色
}

func (this *Cat)Sleep() {
fmt.Println("Cat is sleeping...")
}

func (this *Cat)GetColor() string {
return this.color
}

func (this *Cat)GetType() string {
return "Cat"

}

// 子类
type Dog struct {
color string
}

func (this *Dog)Sleep() {
fmt.Println("Dog is sleeping...")
}

func (this *Dog)GetColor() string {
return this.color
}

func (this *Dog)GetType() string {
return "Dog"
}

func showAnimal(animal AnimalIF) {
animal.Sleep() //多态
fmt.Println("color =",animal.GetColor())
fmt.Println("kind =",animal.GetType())
}

func main() {

//var animal AnimalIF //接口数据类型

//animal = &Cat{"Green"}
//
//animal.Sleep()
//animal.GetType()
//animal.GetColor()
//
//animal = &Dog{"Yellow"}
//
//animal.Sleep()
//animal.GetType()
//animal.GetColor()

cat := Cat{"Green"}
//dog := Dog{"Yellow"}

showAnimal(&cat)
//showAnimal(&Dog)
dog := Dog{"Yellow"}
showAnimal(&dog)

}

+++++++++++++++++++++ 总结 ++++++++++++++++++++++++
/**
多态 :有父类 ; 有子类 实现了所有父类的方法 ;有指向父类的指针
*/
"""

相关文章

  • go 1.4 逐行讲解展示多态

    """ package main import ("fmt") // 指针// 父类type AnimalIF i...

  • go 1.5 逐行讲解panic

    panic 主要是来做 程序运行出现未知的异常,或者这种异常我们不想处理""" panic 意味着有些出乎意料的错...

  • golang-面向对象

    思考:go语言不支持继承与多态的优点与缺点是什么 go语言只支持封装,不支持继承与多态 go语言没有class,只...

  • 28. 多态

    28. 多态 Go 通过[接口]来实现多态。我们已经讨论过,在 Go 语言中,我们是隐式地实现接口。一个类型如果定...

  • 【Golang 基础】Go 语言 面向对象

    Go 语言的面向对象   Go 语言的面向对象非常简单,仅支持封装,不支持继承和多态。继承和多态是在接口中实现的。...

  • centos6.5 go 源码安装

    1:如果安装的版本是>=1.5版本的 需要先安装 go.1.4版本。1.1为什么需要安装go 1.4版本呢? (已...

  • Hyperledger Fabric 1.4 搭建教程

    Hyperledger Fabric 1.4 教程 (一) 用前须知: ​ 运行前需配置go环境,建议使用go...

  • Golang 开发笔记

    1.0Go环境配置 1.1 Go安装 1.2 目录结构 1.3 Go命令 1.4 开发工具 1.5 版本控制(de...

  • 【R语言】绘制GO富集分析弦图

    前面给大家讲解过GO和KEGG富集分析,以及柱形图和气泡图展示富集分析结果。 ☞[https://link.zhi...

  • 如何在Mac源码安装Go1.5开发环境

    到这里下载Go语言源码包。Go1.4到Go1.5是Go语言脱胎换骨的一次变更,The gc tool chain ...

网友评论

      本文标题:go 1.4 逐行讲解展示多态

      本文链接:https://www.haomeiwen.com/subject/xhpxfrtx.html