ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

4-5 接口的继承

2019-06-26 20:02:21  阅读:252  来源: 互联网

标签:string 继承 fmt 接口 Tiger func shit


package main

import "fmt"

//定义两个父类接口

//定义动物接口
type Animal interface {
    //新陈代谢
    Eat(food string)(shit string)
    Die()
}

//定义战士接口,会进攻和防守
type Filghter interface {
    //并造成对手掉血
    Attack()(blood int)
    Defend()
}


//显示地继承父类接口
//野兽接口,拥有动物的一切特征
//野兽接口,用于战士的一切特征

//type Beast interface {
//    //野兽接口继承动物接口
//    Animal
//    //野兽接口继承战士接口
//    Filghter
//    run()
//}

//隐式的继承父类接口

type Beast interface {
    //显示的继承父类接口
    Animal

    //隐示的继承Filghter接口,没有明确说继承Filghter接口,但是方法都实现了。
    Attack()(blood int)
    Defend()
    run()
}

type Tiger struct {
    name string
    food string
    shit string
    power int
}

func (t *Tiger)Eat(food string)(shit string)  {
    fmt.Printf("本王正在享用%s,并撇下了%s\n",t.food,t.shit)
    return t.shit
}

func (t *Tiger)Die()  {
    fmt.Printf("大猫%s也有狗带的一天\n",t.name)
}

func (t *Tiger)Attack() (bloodLoss int) {
    fmt.Printf("本王咬你,掉血%d毫升\n", t.power)
    return t.power
}

func (t *Tiger)run()  {
    fmt.Printf("本王在奔跑")
}
func (t *Tiger)Defend()  {
    fmt.Printf("本王防守\n")
}

func main() {
    //声明接口 接口不可以赋值
    var  animal Animal
    var beast Beast
    var fighter Filghter
    tigerPtr := &Tiger{"东北虎", "其他动物", "翔", 1024}
    animal= tigerPtr
    beast = tigerPtr
    fighter = tigerPtr
    animal.Eat("其他动物")
    fighter.Attack()
    beast.run()
}

 

标签:string,继承,fmt,接口,Tiger,func,shit
来源: https://www.cnblogs.com/paad/p/11093480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有