图像识别与应用技术

1. Scala基础语法

Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的

对象 -对象有属性和行为。例如:一只狗的状属性有:颜色,名字,行为有:叫、跑、吃等。对象是一个类的实例。

类 -类是对象的抽象,而对象是类的具体实例。

方法 -方法描述的基本的行为,一个类可以包含多个方法。

字段 -每个对象都有它唯一的实例变量集合,即字段。对象的属性通过给字段赋值来创建

基本语法

区分大小写-Scala

类名 

方法名称-所有的方法名称的第一个字母用小写

程序文件名

Scala 关键字

 

Scala 注释

实例

object HelloWorld {

  /* 这是一个 Scala 程序

   * 这是一行注释

   * 这里演示了多行注释

   */

  def main(args: Array[String]) {

     // 输出 Hello World

     // 这是一个单行注释

     println("Hello, world!") 

  }}

Scala 包

定义包:Scala 使用 package 关键字定义包,在Scala将代码定义到某个包中有两种方式

引用:Scala 使用 import 关键字引用包

import java.awt.Color  // 引入Color

import java.awt._  // 引入包内所有成员 

def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent 

 ...  // 因为引入了java.awt,所以可以省去前面的部分}

 

2. Scala 简介

Scala 是 Scalable Language 的简写,意味着这种语言设计上支持大规模软件开发,是一门多范式的编程语言

Scala 特性

面向对象特性

类和对象: Scala 支持类和对象,可以定义属性和方法

继承和多态: 支持类的继承和多态,可以创建层次结构和重用代码。

抽象类和特质

封装

函数式编程

高阶函数

不可变性

模式匹配

闭包

类型系统:通过编译时检查保障代码安全一致,支持泛型类、协变逆变等多种特性,还具备强大的类型推断、泛型编程及类型系统扩展能力。

 

扩展性:Scala设计上考虑到领域特定开发需求,提供独特语言机制,能以库的形式添加新语言结构,如方法可作操作符,能自动构造闭包。

 

并发性

Akka 框架: 基于 Actor 模型,用于构建并发、分布式和容错的应用程序。

Futures 和 Promises: 提供异步编程的抽象,简化并发任务的管理。

Scala 并发集合: 提供线程安全的数据结构,方便并发编程

与 Java 互操作性

Scala和Java能无缝相互调用代码,Scala还可使用Java标准库及框架,借助其丰富生态。图中的关系图展示了Java和Scala代码在JVM上的编译执行过程,以及两者代码相互调用的情况。

Scala和Java及JVM关系图

Javac​.class字节码文件

编译器

Java

运行

Scala的SDK

// 1.Java的部分类库

// 2.特有类库

// 3.对Java的类库做了包装

Scala

运行

.scala代码

Import java.io_

// 1 可以使用Java的语法(部分)

System.out.println(“ok”) // 可 以

// 2 scala特有的语法和类库

var t = (“tom”, 100, 12.4) // 元组 Tuple 3

var map = Map((“no1”,100), (“no2”,300)) // Map

Scalac

编译器

//3 对Java的类库做了包装

var arr = Array(1,2,4) //

class Array extendsJava.io.Serializable withjava.lang.Cloneable

.class字节码文件

Java的SDK

(SDK有大量的类库)

JVM for Unix

JVM for Linux

JVM for Windows

.java代码Int num=10

HashMap<String,Intege

r> hm = newHashMap()

硬件

 

 

 

 

 

模块化和可扩展性

·特质(Traits): 可以混入类中,提供类似多重继承的功能,增强代码复用性。

·隐式转换和参数: 支持隐式转换和隐式参数,增强代码的灵活性和可扩展性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值