12.scala编程思想笔记——类和对象

12.scala编程思想笔记——类和对象

欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50444135
源码下载连接请见第一篇笔记。

对象时包括SCALA在内的众多现代编译语言的基础。

Scala不仅仅是面向对象语言还是函数式语言。这是其迥异于其他编程语言。

对象包含存储数据用的val和var,并且使用方法来执行操作。

类定义了域和方法。

本质上类就是用户定义的新数据类型。

构建某个类的val或var称为创建对象或创建实例。

类可以有许多操作方法。

创建一个Range类型的名为r的对象,如下
scala>val r=Range(0,10)

r: scala.collection.immutable.Range =Range(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

然后输入r,然后按下TAB会进行补齐,和我们使用linux 非常的相似的。出现一堆命令。

scala> r.

++             contains        fold              isDefinedAt          minBy               reverse           startsWith        toSet          

++:            containsSlice   foldLeft          isEmpty              mkString            reverseIterator   step              toStream       

+:             copyToArray     foldRight         isInclusive          nonEmpty            reverseMap        stringPrefix      toString       

/:             copyToBuffer    forall            isInstanceOf         numRangeElements    runWith           sum               toTraversable  

:+             corresponds     foreach           isTraversableAgain   orElse              sameElements      tail              toVector       

:\             count           genericBuilder    iterator             padTo               scan              tails             transpose      

addString      diff            groupBy           last                 par                 scanLeft          take              union          

aggregate      distinct        grouped           lastElement          partition           scanRight         takeRight         unzip          

andThen       drop            hasDefiniteSize   lastIndexOf          patch               segmentLength     takeWhile         unzip3         

apply          dropRight       head              lastIndexOfSlice     permutations        seq               terminalElement   updated        

applyOrElse    dropWhile       headOption        lastIndexWhere       prefixLength        size              to                view           

asInstanceOf   end             inclusive         lastOption           product             slice             toArray           withFilter     

by             endsWith        indexOf           length               reduce              sliding           toBuffer          zip            

canEqual       exists          indexOfSlice      lengthCompare        reduceLeft          sortBy            toIndexedSeq      zipAll         

collect        filter          indexWhere        lift                 reduceLeftOption    sortWith          toIterable        zipWithIndex   

collectFirst   filterNot       indices           map                  reduceOption        sorted            toIterator                       

combinations   find            init              max                  reduceRight         span              toList                           

companion      flatMap         inits             maxBy                reduceRightOption   splitAt           toMap                            

compose        flatten         intersect         min                  repr                start             toSeq 

我们需要记住的是,虽然tab补齐了很多命令,但是千万不要以为是穷举了所有可用操作,可能还有其他特性。

对象上定义的特性就是能够在对象上执行的操作,有时称之为发送消息或调用方法。

         为了在一个对象上执行某个操作,需要给出该对象的标识符,后面跟着圆点,之后是操作的名字。

例如:

scala> r.reverse

res2: scala.collection.immutable.Range =Range(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)

调用r的reverse将对象顺序进行反转。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值