- 博客(47)
- 收藏
- 关注
原创 Scala的trait特质
2.它的构造器不能带参数!2.只有抽象成员和方法的trait。3.具体成员的变量和方法。trait 的用法:1.只有抽象方法的trait。定义trait:1.不是类,不能实例化。
2024-10-24 12:30:00 345
原创 Scala的内部对象
定义格式:class 类名{object 对象名{属性:方法()}}使用格式:类名.对象名.属性名;类名.对象名.方法名()内部对象,就是定义在class内部的object。
2024-10-23 15:46:28 263
原创 设计一个Point类,其x和y可以通过构造器提供。再设计一个子类Lable来继承Po类,其构造器接收一个标签和x,y坐标、
【代码】设计一个Point类,其x和y可以通过构造器提供。再设计一个子类Lable来继承Po类,其构造器接收一个标签和x,y坐标、
2024-10-21 20:00:00 82
原创 Scala的多态:定义,作用,实现手法
定义: 从编译的角度解释Scala的多态定义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型的语言有两种类型,分别为编译类型和运行类型。程序中定义的引用变量所指向的具体类型和通过该变量发出的方法调用在编译时并不确定,而是在程序运行期间才确定的。实现手法:多态通过重写实现。子类对父类中的某些方法进行重新定义,在调用这些方法时就会调用子类的方法。作用:当子类继承父类时,不同的子类需要实现自己的行为。Scala多态的这种特性可以提高程序的可扩充性和可维护性,提高代码的复用率。
2024-10-21 15:47:29 427
原创 Scala的继承
【问】当子类从父类继承的方法不能满足需要时,子类需要有自己的行为,怎么办?定义:在原有类的基础上定义一个新类,原有类称为父类,新类称为子类。class 子类名 extends 父类名 {类体}此时使用override 可以重写父类方法。先执行父类构造器,在执行子类构造器。
2024-10-21 14:33:19 321
原创 scala中的sortWith
方法:它使用传入的比较函数对集合进行排序,在排序过程中,根据比较函数的返回值来决定元素的顺序,如果比较函数返回true,则表示第一个参数应该排在第二个参数之前;如果返回false,则表示第一个函数应该排在第二个函数之后。sortWith:基于函数的排序,通过一个comparato函数,实现自定义排序逻辑。排序函数返回true表示第一个元素应该排在第二个元素之前。
2024-10-19 15:00:00 113
原创 scala中的fold
作用:fold是一种集合操作(与reduce类似),用于对集合中的元素进行聚合操作,返回一个单一的结果,需要提供一个初始的“种子”值。格式:fold(初始值)(二元函数=>返回值)
2024-10-16 15:38:49 91
原创 scala 中的reduceLeft-reduceRight
reduceLeft:是按照从左至右的取值顺序进行运算。reduceRight:是按照从右至左的顺序取值运算。
2024-10-16 15:02:50 74
原创 Scala中的reduce
作用:reduce是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它通过指定的二元操作(即取两个元素进行操作)对集合中所有的元素进行递归处理,并最终将其合并为一个值。语法:def reduce[B>:A](op:(B,B)=>B):B。
2024-10-16 14:52:03 424
原创 Scala 中函数的科里化格式
3、科里化方式:def fn(x:Int,y:Int,z:Int)=>{} 把多个参数分开,一个一个写。2、字面量方式:var fn =()=>1、标准方式:def 函数名()
2024-10-14 15:25:50 102
原创 Scala的函数的闭包
函数和变量的定义要在同一个作用域,函数可以引用已经创建的变量,函数可以同值一样被传递和应用,当执行函数时该函数仍然引用着变量。闭包是:一个函数连同该函数的非局部变量的一个引用环境。
2024-10-14 15:07:34 331 2
原创 Scala 的函数的字面量语法
简写1:代码只有一句,可以省略{} (两条代码是一样的,上面的是简写)简写2:形参可以使用占位符来代替。定义函数的新方式:字面量方式。
2024-10-11 15:30:00 209
原创 Scala 的创建接受变参的方法
如何定义一个函数,它能接收数量不定的参数,并计算它们的累加?思路:把这些不确定个数的参数全部打包装在一个容器中!
2024-10-11 12:30:00 106
原创 Scala 的链式风格
对象.方法1().方法2().方法3().方法3().方法3().方法3()this.type 就是当前这个方法的返回值的类型。链式风格:在方法中返回当前对象!
2024-10-11 11:30:00 179
原创 Scala 的函数参数的默认值
def 函数名(参数1: 类型1=‘默认值1’,参数2:类型2=‘默认值2’,)给参数一个默认值:如果调用时,没有传入参数,就直接使用默认值。
2024-10-09 14:51:51 89
原创 Scala的递归函数(3)
(2)递归情况:大事化小,递归求解 f(n)=f(n-1)+f(n-2)记为f(n)表示 1 1 2 3 5 8 13 21 34...的第n项。(1)基本情况:可以直接求解,避免死循环 f(1)=1 f(2)=2。3.求斐波那契数列的第n项。
2024-10-06 09:30:00 71
原创 Scala
给函数的参数设置默认值:当它没有被传入值时,就可以使用默认值。格式: 变量:类型=默认值。作用: 函数的调用更加灵活。函数返回值 Unit。
2024-10-04 05:30:00 83
原创 Scala的递归函数(2)
/ (2)递归情况:大事化小,递归求解 f(n)=f(n-1)*n。2.求1*2*3*...*(n-1)*n 记为f(n),表示1-n的乘积。// (1)基本情况:可以直接求解,避免死循环 f(1)=1。//getMul(n) 计算1-n的和。
2024-10-03 14:45:00 101
原创 scala
println(s"最小值是:$m1,最大值是:$m2")// println(s"最小值为:$max")// println(s"最小值为:$min")//定义一个函数,计算三个数中的最大值和最小值。var max=x //假设最大值为x。var min=x //假设最小值为x。//元组:用()包起来的一组数据。//2.访问:元组名._第几个。//同时返回最大,最大值。
2024-09-30 14:15:00 203
原创 scala
println(s"你的 $age 岁的对象,$name 给你唱歌")var p2=new Person("黄思敏",age = 20)var p1=new Person("彭于晏")
2024-09-24 15:30:00 122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人