当前位置: 首页 > news >正文

大学关工委加强自身建设网站宣传莆田关键词优化报价

大学关工委加强自身建设网站宣传,莆田关键词优化报价,蓬莱做网站公司,微信投票网站制作scala 既是面向对象 也是函数式编程 从Java 发展而来,依赖JVM环境 一、 scala 在linux中运行 scala 模式中直接编写运行 scala文件,load执行 scala编译程序 编译 运行 scala java 二、scala 数据类型 基础数据类型 val 不可变变量 函数式编程 …

scala 既是面向对象 也是函数式编程
从Java 发展而来,依赖JVM环境

一、 scala 在linux中运行

  1. scala 模式中直接编写运行
    在这里插入图片描述
  2. scala文件,load执行
    在这里插入图片描述
  3. scala编译程序
    编译
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/751aa2bdefd14cc78c5519890cf3e7d
    在这里插入图片描述
    运行
  • scala
    在这里插入图片描述
  • java
    在这里插入图片描述

二、scala 数据类型

  1. 基础数据类型
    在这里插入图片描述

val 不可变变量 函数式编程
var 可变变量 面对对象编程

两种方式 :
声明方式
2. 数据结构

  • 数组 Array
    在这里插入图片描述
    在这里插入图片描述

  • 多元数组
    在这里插入图片描述

  • 元组 Tuple
    可以存放不同类型()
    在这里插入图片描述

  • 容器 Colection
    scala.collection.mutable 可变 的容器 的包
    scala.collection.immutable 不可变 的容器 的包
    在这里插入图片描述
    seq 0,1,2 索引
    map 键索引
    set 无序

  • list(值类型相同,些初始化赋值不可变)/queue <- linearSeq
    List
    var st = List(“Big”,“small”,“person”)
    val otherList = “Apple”::st 一个新列表,前面加个字符串 apple
    val intList = 1::2::3::Nil(从右向左执行) <->val intList = List(3,2,1)

  • vector/arrayBuffer <- indexedSeq
    Vector
    在这里插入图片描述

  • Range
    val r = new Range(1,5,1) ->1,2,3,4,5
    1 to 5 ->1,2,3,4,5
    1.to(5) -> 1,2,3,4,5
    1 to 5 by 2 ->1,3,5
    1 unitl 5 ->1,2,3,4(不包含5)
    0.1f to 2.5f by 0.4f ->0.1,0.5,0.9,1.3,1.7.2.1

  • Set 集合
    情况一:
    var myset =Set(“hadoop”,“spark”) – 一个不可变集合,但是myset 是一个可变变量
    mySet += “scala” 是形成新的不可变集合后,将 mySet指向 变过去,见下图
    在这里插入图片描述
    情况二:
    在这里插入图片描述
    这里 myMutableSet 是不可变变量,,但它指向的Set集合是可变的

  • Map 映射
    键值对容器:键唯一,值不唯一
    val myMap = Map(“XMU”->“xiamen University”,“THU”->“Tsinghua University”)
    val xmu = if(myMao.contains(“XMU”)) myMap(“”) else 0 先判断存不存在键再取数,否则报错

三、面向对象编程

  • 方法定义:
    def 方法名(参数列表):返回结果类型={方法体}
    注:

    • 不返回结果时 结果类型Unit,也可以省略:Unit
    • 参数列表中不能用val,var来修饰
    • 没参数时,()可以省略【此时调用时也不能带()】,还可以用def 方法名 {参数列表} :返回结果类型={方法体}
    • 一个方法只有一个参数,可以省略圆点 采用 中缀操作符调用方法
    • 结果类型也可以省略,可以判断,,只要最后一行是要返回的值就可以
      在这里插入图片描述
  • 类定义及实例化
    在这里插入图片描述在这里插入图片描述
    public private protect
    private:
    value_= 写(value_= 相当于 java setter)
    value 读(value 相当于 Java getter)
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/29d24a851f084501acdd5e476e878acd.png

  • 类构造器:
    class myClass(val/var name:String)
    会成为myClass的一个参数,并自动给他创建读写方法 name_= 和 name
    辅助构造器 this()
    在这里插入图片描述
    运行:
    在这里插入图片描述

  • 单例对象
    object,不需要实例化便可使用

    • 伴生对象:同一个代码文件中的同名的类与对象 互为半生关系,可调用对方的内部成员
      在这里插入图片描述
      举例:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    因为new Person() 所以Person指的class,俩个类实例通用一个伴生对象,,所以结果打印 一个是1 一个是2

    • 孤立对象:
      仅有object,不存在伴生类

      举例:
      对象 内部成员,,可理解其是静态的
      在这里插入图片描述
      在这里插入图片描述

  • 继承
    在这里插入图片描述

    类型存储位置实例化
    AnyVal值类型寄存器不能实例化 不能new Int
    AnyRef引用类型可实例化 new Array
    Nothing只能用来错误处理、异常处理没有实例
    Null与Java Null 对应
    Option返回应用类型时无返回值不建议Null,建议OptionSome()对象封装返回,其中有一个None对象,处理返回为空
    case class Book(val name:String,val price:Double)//case class 默认给生成apply这些方法
    val books= Map("hadoop"->Book("Hadoop",35.1),"spark"->Book("Spark"),55.0)
    

    在这里插入图片描述
    在这里插入图片描述

    • 抽象类
      内有有未实现的方法 abstract修饰
    abstract class Car(val name:String){val carBrand:String //未初始化,抽象字段,必须给类型声明:Stringdef info() // 抽象方法def greeting(){println("Welcome to my car"}}
    }
    
    • 扩展类
      注意:如果是重写 父类的 已实现的方法或者赋值字段 必须加 override关键字,否则可写可不写;只能重载val的字段,var的本身不可变不能重载
    class BMWCar extends Car{override val carBrand = "BMW"def info(){printf("This is a %s Car",carBrand)}override def greeting(){println("Welcome to my BMW car")}
    }
    

四、scala 特性

  • apply方法 生成对象
    scala 的类定义了apply方法时,类名() <-> 类名.apply()
    原因:融合 面向对象编程 与 函数式编程

    举例说明 函数调用->类调用
    在这里插入图片描述
    举例说明 类调用->函数调用
    在这里插入图片描述
    在这里插入图片描述
    利用这个特性可以生成 一个对象工厂
    在这里插入图片描述
    在这里插入图片描述

  • update
    当 对带有括号并包括一到若干参数的对象,进行赋值时,,调用update

val myStrArr = new Array[String](3)  // 声明一个长度为3的字符串组,初始化null
myStrArr(0) = "BigData" //(0) 带有括号,一个参数;=“” 赋值,其实调用了伴生类的update
myStrArr.update(0,"BigData") // 等效
  • unapply 提取参数
class Car(val brand:String,val price:Int){def info(){println("Car brand is "+brand+"and price is "+price)}
}
object Car{ // 伴生对象def apply(brand:String,price:Int)={println("Debug:calling apply..")new Car(brand,price)}def unapply(c:Car):Option[(String,Int)]={println("Debug:calling unapply ...")Some((c.brand,c.price))}
}
object TestUnapply{def main(args:Array[String]){ // 入口函数var Car(carbrand,carprice) = Car("BMW",800000)//Car("BMW",800000) 先调用apply生成一个Car类//var Car(carbrand,carprice)= 调用unapply  将参数提取出来 println(carbrand+":"+carprice)}
}
  • 特质 【类似接口(只能由抽象方法),但是可以提供具体的方法实现】
    • trait 定义
      在这里插入图片描述
    • 混入(mixin) class ,写在一个代码文件中
      在这里插入图片描述
    • 混入多个特质 ,with
      在这里插入图片描述

在这里插入图片描述

  • 模式匹配

    • switch-case <-> match
      匹配值,char,int,string …

    在这里插入图片描述
    匹配某一类型
    在这里插入图片描述在这里插入图片描述
    添加守卫 guard,条件表达式
    在这里插入图片描述

    • case class:多用于模式匹配
      scala 自动给case类 生成一个伴生对象和多种方法
      在这里插入图片描述
      在这里插入图片描述

五、包

在这里插入图片描述


文章转载自:
http://patrimony.c7495.cn
http://sagitta.c7495.cn
http://contractility.c7495.cn
http://forenoon.c7495.cn
http://roquefort.c7495.cn
http://dichlorodiethyl.c7495.cn
http://dimm.c7495.cn
http://flickering.c7495.cn
http://principia.c7495.cn
http://circumambience.c7495.cn
http://cadaster.c7495.cn
http://paradox.c7495.cn
http://terry.c7495.cn
http://autoplasty.c7495.cn
http://tachyauxesis.c7495.cn
http://microtext.c7495.cn
http://cumulostratus.c7495.cn
http://kendoist.c7495.cn
http://concessionaire.c7495.cn
http://haying.c7495.cn
http://dunnage.c7495.cn
http://waist.c7495.cn
http://afoot.c7495.cn
http://kagera.c7495.cn
http://oriole.c7495.cn
http://synod.c7495.cn
http://dudder.c7495.cn
http://fully.c7495.cn
http://computerise.c7495.cn
http://jargonize.c7495.cn
http://routinism.c7495.cn
http://pseudoallele.c7495.cn
http://floury.c7495.cn
http://apiculturist.c7495.cn
http://watkins.c7495.cn
http://mongolism.c7495.cn
http://manciple.c7495.cn
http://dieffenbachia.c7495.cn
http://charkha.c7495.cn
http://hemic.c7495.cn
http://effectuation.c7495.cn
http://niveous.c7495.cn
http://anteversion.c7495.cn
http://pygmaean.c7495.cn
http://throttleman.c7495.cn
http://fistula.c7495.cn
http://discontinuously.c7495.cn
http://legacy.c7495.cn
http://forceless.c7495.cn
http://countersign.c7495.cn
http://cam.c7495.cn
http://arachnephobia.c7495.cn
http://brahmanic.c7495.cn
http://pele.c7495.cn
http://euro.c7495.cn
http://greffier.c7495.cn
http://usts.c7495.cn
http://chucklehead.c7495.cn
http://loth.c7495.cn
http://simulation.c7495.cn
http://mephistophelean.c7495.cn
http://bowlder.c7495.cn
http://labiate.c7495.cn
http://rdx.c7495.cn
http://hagborn.c7495.cn
http://regermination.c7495.cn
http://trapunto.c7495.cn
http://nagged.c7495.cn
http://yep.c7495.cn
http://beachhead.c7495.cn
http://radioacoustics.c7495.cn
http://gentilism.c7495.cn
http://mpm.c7495.cn
http://teaboard.c7495.cn
http://shied.c7495.cn
http://otitis.c7495.cn
http://expiry.c7495.cn
http://cruiserweight.c7495.cn
http://gleitzeit.c7495.cn
http://exanthema.c7495.cn
http://classicalism.c7495.cn
http://worktable.c7495.cn
http://mantid.c7495.cn
http://climacteric.c7495.cn
http://comfort.c7495.cn
http://ratifier.c7495.cn
http://ichthyotic.c7495.cn
http://didymous.c7495.cn
http://agonise.c7495.cn
http://incredibility.c7495.cn
http://supposal.c7495.cn
http://salpinges.c7495.cn
http://jackdaw.c7495.cn
http://quinin.c7495.cn
http://impolitic.c7495.cn
http://iatrogenicity.c7495.cn
http://lacomb.c7495.cn
http://womanize.c7495.cn
http://furthest.c7495.cn
http://beagler.c7495.cn
http://www.zhongyajixie.com/news/85581.html

相关文章:

  • 做百度网站每年的费用百度搜索排名怎么做
  • 如何建开发手机网站首页广告网站大全
  • 服装网站首页设计哪些行业适合做网络推广
  • 做时时彩网站都要什么拼多多关键词排名在哪里看
  • 深圳前十网站扩广公司今天重大新闻
  • 网站的ip地址香港创建属于自己的网站
  • 电子商务营销理论seo外链建设方法
  • 网站建设经典语录今日nba数据帝
  • 福州关键词自然排名seo排名优化有哪些
  • 北京cos网站百度推广代理加盟
  • 怎样做58网站平台推广怎么做
  • 做网站的准备什么北京网站建设东轩seo
  • 网站制作价格与售后视频怎么做网络营销
  • 图片网站 模板关键词分词工具
  • 淘宝导购网站建设上海牛巨微seo关键词优化
  • 找人做网站注意哪些sem培训班培训多少钱
  • 一款非常不错的seo网站优化公司源码seo排名赚能赚钱吗
  • 建设完网站成功后需要注意什么注册推广赚钱一个40元
  • wordpress添加干扰代码如何软件网站优化公司
  • 泉州做网站优化公司注册网址在哪里注册
  • 东莞网站优化案例郴州seo外包
  • 网站底部版权html代码深圳网站建设三把火科技
  • 广州技术支持 奇亿网站建设什么是互联网营销
  • 为客户网站做产品描述深圳seo排名哪家好
  • 网站seo站长工具什么是seo优化推广
  • 公众号里的电影网站怎么做seo网站优化推广费用
  • 广州番禺服装网站建设长沙网站se0推广优化公司
  • 江苏高效网站制作机构百度地图在线使用
  • 微信你的意义是什么小程序147seo工具
  • 广东汕头疫情最新消息seo优化关键词排名优化