`
myten
  • 浏览: 133506 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Julia之面向对象浅析

 
阅读更多

废话少说,上代码

module gson
  struct Goo
  name
  age::Int8
  end
  function tojson()
    println("I'am toJson method")
    return "I'am toJson"
  end
  function tojsonWith(obj::gson.Goo)
    println("I'am toJson method with ",obj.name)
  end
end

 以上代码可以直接保存为gson.jl,里面关键字,module struct end function。

module:表示一个模块

struct:表示一个结构体,跟C类似

end:一个代码体的结束 类似 }

function:定义函数的关键字

x::V变量定义和类型约束

 

基本陈述完毕,现在说说面向对象是怎么回事。Julia不允许在结构体里定义函数,至少目前我没成功过,想要实现Java那种 obj.method()形式的调用,不太可能。(Java Bean 里是可以定义字段和方法的)

但是,julia有module这个神奇的东西。代码里是一个module包含了一个结构体和两个方法。那么如何使用呢?

建立一个Boot.jl,代码如下

include("gson.jl")
gson.tojson()
goo=gson.Goo("google",32)
gson.tojsonWith(goo)

 到此为止,看代码就应该能懂Julia是如何面向对象了。而且还出现了include这个神奇的关键函数。一股子C语言的浓烈味道会不会把你吸引呢?

这种严格的将结构体和模块整合在一起才能贴合上 一个Java普通的Bean的语法要求,有多少人能适应得来呢?至少我感觉不是太爽,但是又说不出。

分享到:
评论

相关推荐

    OOPMacro.jl:Julia中的面向对象编程

    Julia,作为一种高性能的动态语言,虽然其设计之初更偏向于函数式编程和元编程,但通过如OOPMacro.jl这样的扩展,也支持了面向对象编程的特性。 OOPMacro.jl 是一个用于Julia的宏(macro),它的目标是为Julia提供...

    julia中文文档

    Julia支持多范式编程,结合了指令式、函数式以及面向对象编程的特性,因此,无论是函数式编程的简洁性还是面向对象编程的面向问题的特性,Julia都能提供。Julia的类型系统非常丰富和全面,支持类型声明、类型推断、...

    julia-1.4.0-mac64.dmg julia: 1.4.0 可通过LLVM编译为多个平台的高效本机代码。

    Julia使用多重调度作为范例,使表达许多面向对象和功能性编程模式变得容易。它提供异步I / O,调试,日志记录,性能分析,程序包管理器等。 Julia具有高级语法,因此对于任何背景或经验水平的程序员来说,它都是一...

    Julia中文学习资料

    Julia 的中文文档是学习 Julia 的重要资源之一。文档中包括了 Julia 的基本语法、数据类型、控制流、函数、数组、字符串、异常处理等方面的内容。 2. 变量和命名规范 在 Julia 中,变量名可以由字母、数字、下划线...

    julia.rar_julia_julia 画图_julia画图

    在描述中提到的"julia.rar_julia_julia 画图_julia画图",显然指的是使用Julia语言进行图形绘制的操作。在Julia中,我们可以利用其丰富的库来创建各种类型的图表,包括二维和三维图像,这对于数据可视化和科学研究...

    Julia-Introduction.pdf

    这方面的知识对理解Julia的类型系统和面向对象编程是非常有帮助的。 控制流是编程中的基本概念,文档中提到了Julia的控制流语句,包括条件语句和循环语句,这些是编写复杂程序不可或缺的部分。 函数是Julia编程的...

    Julia中文文档.pdf

    Julia是一种高性能、动态类型、动态编译的多范式编程语言,主要面向科学计算。Julia的设计目标是同时具有类似于Python的易用性、类似于MATLAB的数学表达能力以及类似于C的运行速度。 2. 变量: 在Julia中,变量的...

    JuliaPro-1.5.3-1_build-319 最新版

    **JuliaPro 1.5.3-1_build-319 最新版:高效便捷的Julia编程环境** JuliaPro是专为Julia编程语言设计的一款集成开发环境(IDE),旨在提供一个优化的、用户友好的编程环境,以提高Julia代码的编写效率和调试体验。...

    Julia学习材料合集

    六册Julia学习材料,可用于突击学习: 《Beginning Julia Programming》 《Beginning Julia Programming For Engineers and Scientists》 《Julia High performance》 《learning julia》 《Mastering Julia》 ...

    julia 中文手册

    - Julia是多范式编程语言,包括了面向对象、函数式和指令式编程的元素,易于进行高等数值计算。 - Julia语言受到了Lisp、Perl、Python、Lua和Ruby等流行动态语言的启发,提供了类似R、MATLAB和Python的简易和简洁...

    julia安装教程1

    在本文中,我们将详细介绍如何在Windows平台上安装Julia,并安装与之配套的集成开发环境(IDE),以便更好地编写和调试Julia代码。 **一、安装Julia** 1. **下载Julia** 首先,你需要访问Julia官方网站的下载页面...

    Julia 集合。

    标题 "Julia 集合" 指的是 Julia 语言中的集合数据类型。在 Julia 中,集合是一种存储和操作一组唯一元素的数据结构。这些集合包括数组(Array)、字典(Dict)、集(Set)等。集合是编程中常用的概念,它们允许我们...

    Julia 1.0.0中文文档

    - **多维数组**: 多维数组是 Julia 的核心数据结构之一,广泛应用于数值计算领域。 - **缺失值处理**: 支持专门的 `missing` 类型来表示缺失数据,方便进行数据分析和处理。 - **网络编程与流**: 提供了用于网络通信...

    魔方的Julia实现和解决它的算法

    在Julia中,我们可以利用其面向对象的特性,定义一个魔方类,包含旋转、初始化、还原等方法。例如,通过定义一个3x3魔方类,我们可以通过矩阵表示每个面的状态,通过转轴旋转函数实现面的转动。 在魔方求解算法方面...

    程序_julia_

    2. **多重-dispatch**:Julia的核心特性之一是多重调度,即函数的行为可以根据其输入参数的类型进行选择。这使得编写泛型代码变得极其高效。 3. **动态类型**:Julia是动态类型的语言,这意味着变量的类型在运行时...

    Julia中文手册1.1版本

    在Julia手册中,变量的作用域和生命周期是被详细讨论的主题之一。这是因为理解变量的作用域对于编写出高效、无误的代码至关重要。Julia对变量的作用域有着严格的规则,包括局部变量、全局变量以及常量的作用域。此外...

    QUANTITATIVE ECONOMICS with Julia

    - 面向未知招聘分布的搜寻模型 - 最优储蓄问题 - 鲁棒性分析 - 协方差平稳过程 - 动态谱的估计 - 最优税收问题 - 历史依赖的公共政策 由于文件内容可能因为OCR扫描识别不完整或有误,以下知识点的解释尽可能...

    Statistics With Julia_数据开发_统计学习_Julia统计学机器学习_

    《Statistics With Julia》是一本专注于使用Julia语言进行数据开发、统计学习以及机器学习实践的书籍。这本书旨在帮助读者深入理解和应用Julia的强大功能,特别是在数据处理和分析领域。以下是对书中关键知识点的...

    julia_zh_cn, 简体中文 Julia.zip

    julia_zh_cn, 简体中文 Julia manual/Julia 手册stdlib/Julia 标准库文档packages/扩展包文档conf.py Sphinx 配置文件note/暂时存放一些笔记之类的东西,将来很有可能移走

    Julia 编程手册

    Julia作为灵活的动态语言,适合科学和数值计算,性能可与传统静态类型语言媲美。由于 Julia 的编译器和其它语言比如 Python 或 R 有所不同,一开始您或许会觉得 Julia 中什么样的代码运行效率高,什么样的代码运行...

Global site tag (gtag.js) - Google Analytics