返回
北京兄弟连IT
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-656-1390

学校地址:北京市昌平区回龙观文华西路育荣教育园区兄弟连IT教育

兄弟连区块链培训教程面向对象2:继承

67 2018-09-20 07:19:15

学习笔记

  兄弟连教育Go全栈与区块链培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。

  由于目前用户普遍对于区块链认知不足,加之区块链专业人才的短缺及其高薪诱惑力,导致市场上衍生出多家区块链培训机构。兄弟连教育区块链学院院长尹成表示,面对鱼龙混杂的区块链培训市场,消费者需仔细辨别。(

继承性概述

· 继承的意义在于低成本地扩展和改造原有代码

· 首先,子类一行代码即可拥有父类的全部成员(属性和方法)

· 继承的目的,在于扩展和改造父类

· 扩展,是指子类发展出自己独有的新属性和新方法,以适应自身需求

· 改造,是指子类覆写和覆盖父类成员(属性和方法),以适应自身需求

定义父类

//定义父类type Doggy struct {

    name string

    sex  bool

}

//定义父类方法func (d *Doggy) bite() {

    fmt.Printf("%s要咬你了啊\n",d.name)

}

定义子类

//定义子类type PoliceDog struct {

    //持有一个Doggy对象,并继承Doggy的全部属性和方法

    Doggy

 

    //警犬所独有的属性

    skill string

}

//覆写父类方法func (pd *PoliceDog) bite() {

    fmt.Printf("%s:还没出嘴你就熏晕过去了,我他妈刚喝了三瓶茅台\n",pd.name)

}

//发展出新的方法func (pd *PoliceDog)doPoliceJob()  {

    fmt.Printf("%s正在执行警务工作,普通的狗狗是做不到滴",pd.name)

}

继承了Doggy的PoliceDog拥有父类的全部属性和方法

func demo31() {

    pdPtr :new(PoliceDog)

    pdPtr.name = "战狼"

    pdPtr.bite()}

继承的目的是为了有新的扩展

func demo32() {

    pdPtr :new(PoliceDog)

    //这里是从父类继承过来的属性和方法

    pdPtr.name = "战狼"

    pdPtr.bite()

    //访问独有的属性和方法

    pdPtr.skill = "徒手接RPG"

    fmt.Println(pdPtr.skill)

    pdPtr.doPoliceJob()}

直接在声明子类时完成属性的重定义

func demo33() {

    pd := PoliceDog{Doggy{"战狼II", true}, "豪饮"}

    pd.bite()

}

更多区块链视频教程/源码/课件/学习资料-企鹅QUN:

文中图片素材来源网络,如有侵权请联系删除
来源:北京兄弟连IT
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请