加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy笔记(7)_Class

发布时间:2020-12-14 17:06:22 所属栏目:大数据 来源:网络整理
导读:Groovy 类例子 ? 1、class Toy{ ????????? def toyName???????????????????????????? //会在java代码中声明为私有的,并提供set和get ????????? def unitPrice ??????????def method(){???????????????????????? //此方法在生成的java代码中返回object ?????

Groovy 类例子

?

1、class Toy{

????????? def toyName???????????????????????????? //会在java代码中声明为私有的,并提供set和get

????????? def unitPrice

??????????def method(){???????????????????????? //此方法在生成的java代码中返回object

??????????????? println 'Invoke method!'

??????????}

????????? String toString(){"${toyName}"}

???? }

  • def toy = new Toy(toyName:'toy1',unitPrice:'100')?????? //自动回对应属性赋值
  • println "Toy ${toy.toyName},unit price :${toy.unitPrice}"
  • toy.method()
  • prinltn toy???????? //会调用toString方法

2、Groovy类分析

  • 类和方法默认是public的
  • 类属性是私有的
  • 变量与方法使用动态属性
  • Groovy 自动提供构造函数、构造函数接受一个名-值对的映射,名称-值对与类的属性相对应。不用初始化对象的每个属性
  • 生成标准的setter和getter方法

?

  • 可以通过 . 语法间接地访问属性
  • 在进行属性操作时总是会调用setter和getter方法,即使直接通过 . 语法访问属性也是如此
  • 打印对象,在java中这样只会输出所有对象默认的toString()实现,? 包.类名@hashcode
  • 覆盖默认的toString()实现,让输出效果更好
  • String toString(){"${toyName}"}

?

继承

?

1、使用Java的继承机制。

2、支持方法覆盖于重载即多态。

???? class Father{

?????????? def name

???????????String toString(){name}

????? }

?????class Son extends Father{

???????????def score

???????????String toString(){super.toString()+"."+score}

????? }

  • def f =new Father(name:'clat')
  • println f?? // clat
  • def s = new Son(name:'escaflone',score:'100')
  • println s?? // escaflone:100

?

?

抽象类与接口

?

1、Groovy 动态类型的特征,实际上使抽象类与接口变得不是很必要了

2、抽象类提供应该由子类延迟实现的方法即抽象方法。

3、abstract class AbstractClassDemo

?????{

????????? def abstract doSomething()

???????? //抽象类也可以包含具体的方法

????????? String toString(){println 'Abstract class'}

????? }

????? class AbstractClassSon extends AbstractClassDemo{

?????????? def doSomething(){}

??????}

?

4、接口作为 子类必须遵守的协议,要求子类必须实现所有的方法,使用Java相同的机制

???? interface iToyService{

??????????def addToy()

????????? def deleteToy()

????????? def updateToy()

??????????def selectToy()

???? }

?????class ToyServiceimpl implements iToyService{

????????? def addToy(){}

????????? def deleteToy(){}

????????? def updateToy(){}

???????? def selectToy(){}

?????}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读