10、Julia编程:类型系统与多维向量应用

Julia编程:类型系统与多维向量应用

1. 派生与复合类型

在处理车辆类型比较时,我们遇到了一些问题。比如,无法直接比较两辆宝马车、两辆大众车,也不能将任何汽车与福特车进行比较。若要涵盖所有汽车品牌的比较可能性,仅用三种汽车类型来实现是不切实际的,更不用说还包括自行车和船了。Julia通过使用参数化类型解决了这个问题。

另外,所有车辆都需要有一个速度字段,并且在使用参数化类型定义规则时,速度字段在每种情况下都需要使用相同的符号(即相同的名称)。我们可以在使用字段之前检查其是否存在,或者使用 try-catch 块来捕获错误,但如果具体类型能够从其超类型继承字段,这个问题就会大大减少。

车辆类型、构造函数和函数定义都在 vehicles.jl 文件中定义。

2. 模块化

将代码作为一个模块处理是有好处的。我们需要在文件开头添加以下代码,并以 end 语句结束:

module Vehicles
export Contact, Vehicle, Car, MotorBike, Yacht, Powerboat, Boat
export Ford, BMW, VW, Scooter, Speedboat, isquicker, islonger

可以使用 using .Vehicles 语句来访问这个模块,它会从当前目录或 LOAD_PATH 数组中查找。我们可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值