Groovy笔记(7)_Class

Groovy笔记(7)_Class,第1张

概述Groovy 类例子   1、class Toy{           def toyName                             //会在java代码中声明为私有的,并提供set和get           def unitPrice           def method(){                         //此方法在生成的java代码中返回objec

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(){}

     }

总结

以上是内存溢出为你收集整理的Groovy笔记(7)_Class全部内容,希望文章能够帮你解决Groovy笔记(7)_Class所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1270785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存