`
myten
  • 浏览: 132141 次
  • 性别: 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中的面向对象编程

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

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

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

    Julia学习材料合集

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

    julia.rar_julia_julia 画图_julia画图

    产生julia集,画图,可调整参数,画图,画图

    Julia中文文档.pdf

    julia中文文档,julia教程 julia文档 julia手册 julia中文文档

    Julia中文学习资料

    Julia中文学习资料,入门推荐

    julia中文文档

    julia中文文档,julia教程 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 中什么样的代码运行效率高,什么样的代码运行...

    julia_for_dataScience+Julia 1.0 Programming

    julia_for_dataScience与Julia 1.0 Programming的英文版

    Julia 1.0.0中文文档

    整理的Julia的中文文档,希望对大家有用。整理的Julia的中文文档,希望对大家有用。整理的Julia的中文文档,希望对大家有用。整理的Julia的中文文档,希望对大家有用。整理的Julia的中文文档,希望对大家有用。整理...

    julia-0.6.4-linux-64

    通用Linux和FreeBSD二进制文件不需要任何特殊的安装步骤,但您需要确保系统可以找到julia可执行文件。首先,.tar.gz将从下载页面下载的文件解压缩到计算机上的文件夹中。要运行Julia,您可以执行以下任何操作: ...

    Julia 是一个面向科学计算的高性能动态高级程序设计语言。

    Julia 是一个面向科学计算的高性能动态高级程序设计语言。其语法与其他科学计算语言相似。在许多情况下拥有能与编译型语言相媲美的性能。Julia 是个灵活的动态语言,适合科学和数值计算,性能可与传统静态类型语言...

    julia language v1.0 win64 zip

    由 MIT 主导开发的 Julia 是一种新型编程语言,它将 C 的速度、Ruby 的灵活性 Matlab 的数学表征、Python 的通用编程结合在一起,集众家之所长,近年来成为全球火热程度上升最快的编程语言之一,受到包括 Google、...

    julia language v1.0 win64 installer

    julia language v1.0 win64 installer Julia 是一种面向科学、数值计算的简单、高效的开源编程语言。而此次发布的Julia 1.0 是第一个完善、稳定和向前兼容的 Julia 版本

    k-means 聚类算法 的朴素julia实现_julia_代码_下载

    k-means 聚类算法 的朴素julia实现_julia_代码_下载

    Julia-High-performance

    Chapter 1, Julia is Fast, discuses some of the design underpinning the language and its focus on high performance. Chapter 2, Analyzing Julia Performance, provides the tools and techniques you can use...

    Julia High Performance Programming mobi

    Julia High Performance Programming 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Julia集图片.rar

    Julia集图片.rar

    Julia曲线 OPENCV

    利用OPENCV 生成Julia曲线

Global site tag (gtag.js) - Google Analytics