Class是OOP编程的基础。
现在我们开始Class。
下面我们定义一个简单的Groovy类:
class Book {
private String title
Book (String theTitle) {
title = theTitle
}
String getTitle(){
return title
}
}
在上面的Book类中,其实和我们平常的Java类没什么区别,定义了title属性,构造函数,get方法,完全是Java中的一个简单JavaBean.当然,Groovy中的类远不止这么简单,因为我在前面说过,学习一种编程语言,就如学习一门新的外语,假如,你所学的外语接近你的母语,相信,你能更快的熟悉这门语言。
对于脚本语言可能存在一种误解,因为脚本语言提供一种宽松的类型定义和让人感到惊奇的简短语法,它可能更适合作为黑客们(Hackers)的玩具而不是严谨的OOP语言。这种声音可能源于使用shell scripts或者早期的Perl,对于封装的缺乏,对于OOP代码管理上的缺乏,代码的频繁复制,隐藏的模糊不清的Bugs.不能帮助我们使用已有的代码来运用组合继承。
随着时间的推移,脚本语言的前景开始引人注目了。Perl添加了对OOP的支持,Python扩展了对OOP的支持,最近的Ruby,也成为完全的OOP语言。
当然我们的Groovy也是一种完全的OOP语言。它不但增强了Java的脚本语言能力,而且带来了新的OOP特性。比如Java的原始类型在Groovy中的改变,引入了Ranges和closures(闭包),为Collections的使用提供了更简单的方法。
Groovy中定义Class和Java差不多,通过class关键字来定义Class.Class中包含了contain fields, constructors, initializers, methods。而对于Scripts(脚本)不同(哈哈,现在才开始说道Scripts(脚本)),提供了额外的灵活度也带来了一定的限制,它即包含了代码,变量的定义,方法的定义又包含了Class定义。
在Java,Groovy都拥有local variables,他们作为方法一部分存在。
对于variables(变量)它必须在使用前被声明(除了Scripts),这样可以强制范围和拼写错误。声明variables(变量)包括指定name,可选的类型声明,修饰符,赋原始值,定义了变量后,就可以通过他们的名字来引用了。
而在Scripts(脚本)中可以使用未声明的variables(变量)。(待续,今天没多少时间)
分享到:
相关推荐
Groovy是一种高级编程语言,它是作为Java平台上的脚本语言出现的,旨在集成Java语言的强大功能与动态语言的简洁性。Groovy 2.5.5版本的官方文档是一个详细的手册,其内容涵盖了从基础语法到高级特性,包括语言规范、...
Once a Groovy script is compiled, it can be executed using the `java` command, just like any other Java class. For example: ```bash java MyScript ``` **1.5.3 Compiling and Running with Ant** Ant is...
Groovy是一种基于Java平台的、动态的、强大的编程语言,它可以无缝地与Spring Boot框架集成,为应用程序开发提供更大的灵活性。在Spring Boot中使用Groovy,可以极大地简化代码,提高开发效率,尤其在处理动态脚本和...
Grails是一个全栈式的框架,它将Java中的Spring MVC和Hibernate进行了封装,提供了Groovy作为开发语言,大大简化了开发过程。Domain类包含了基本的CRUD功能,Controller负责处理请求,Service层处理业务逻辑,而...
Groovy脚本当前作为.class文件运行,以消除对Java的依赖。 使用此脚本来编译Groovy类: ./compile_groovy.sh图形脚本gnuplot中的脚本旨在将上面输出的CSV文件转换为带有gnuplot的图形。 依存关系: 时髦gnuplot ...
Grails是一个基于Java平台的开源框架,它结合了Ruby on Rails的敏捷开发理念和Java的强类型、静态检查的优势,提供了一种快速开发全栈式Web应用的方式。 在**描述**中提到,该系统采用了EasyUI作为前端框架。EasyUI...
Android Studio JNI Demo是一个示例项目,它展示了如何在Android Studio环境中使用Java Native Interface (JNI)技术。JNI是Java平台的标准接口,允许Java代码和其他语言写的代码进行交互。这个项目可以帮助开发者...
"scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "react": "16.0.0", "react-native": "0.50.3", "react-native-device-info": "^...
在项目设置中,我们需要在"Gradle Scripts"下的build.gradle模块文件中配置NDK路径和编译选项。 ```groovy android { defaultConfig { externalNativeBuild { ndkBuild { abiFilters 'armeabi-v7a', 'arm64-v8a...
在Android Studio中创建一个C语言项目,不仅可以帮助开发者熟悉Java之外的编程语言,还能够深入理解底层系统的工作原理。本文将详细介绍如何利用Android Studio搭建C语言项目,并探讨C语言和汇编语言的开发过程。 ...
1. 打开`package.json`文件,在`scripts`字段中添加`"start": "node node_modules/react-native/local-cli/cli.js start"`,这使得你能够通过`npm start`命令启动React Native打包服务器。 **编写React Native代码*...