scala的面向对象

package com.aura.scala.test
//scala类的使用
object Lei {
def main(args: Array[String]): Unit = {
//创建类的对像
val p:People=new People()
//姓名
p.name=“王星”
// 年龄
p.age=10
//调用方法打印输出
p.show()
}
}
//方法的定义
class People{
//定义变量
var name:String=_
var age:Int=_
//定义方法打印输出
def show(): Unit ={
println(s"nameKaTeX parse error: Expected 'EOF', got '\tage' at position 7: {name}\̲t̲a̲g̲e̲{age}")

}
}

封装

package com.aura.scala.test
//封装属性
object fengZhuan {
def main(args: Array[String]): Unit = {
//创建对象
val p:People01=new People01()
p.setAge(10)
p.setName(“小明”)
p.show1()
}
}

class People01{
//封装属性
private var name:String=_
private var age:Int=_
def setName(n:String)={
name=n
}
def getName()=name
def setAge(a:Int)= {
if (a < 0) {
throw new RuntimeException(“输入错误”)

}
age = a

}
def getAge=age
def show1(): Unit ={
println(s"nameKaTeX parse error: Expected 'EOF', got '\tage' at position 7: {name}\̲t̲a̲g̲e̲{age}")
}

}

样例类

package com.aura.scala.test
//case class 样例类
/*case class样例类

  • 作用就相当于java bean
  • case class的定义非常简单,在class关键字的前面加上另外一个关键字case即可/
    */
    object LeiTest {
    def main(args: Array[String]): Unit = {
    val category=Category(1,“小李”)
    println(category.id)
    println(category.name)
    }
    }
    case class Category(id:Int,name:String)

内部类

package com.aura.scala.test

object QianTao {
def main(args: Array[String]): Unit = {
//创建对象
val oute=new Oute
val inner=new oute.Inner()
inner.show()

}
}
//定义外部类
class Oute{oo=> //外部类的引用
var x=5
//定义内部类
class Inner{
var x=6
//定义内部类的方法
def show(): Unit ={
var x=7
//参数的调用
println(“Inner:x”+x)
println(“Inner:x”+this.x)
println(“Inner:x”+Oute.this.x)
println(“Inner:x”+oo.x)

}

}

}

伴生类

package com.aura.scala.test
//伴生类和伴生对象
object BaNSheng {
def main(args: Array[String]): Unit = {
val worker=new Worker(“李明”,10)
worker.show()
println("=====")
//伴生对象 有参
val w1=Worker()
w1.show()
println(“静态属性:”+Worker.x)
//伴生对象无参
val w2=Worker(“张山”,13)
w2.show();

}

}
class Worker {
private var name:String=_
private var age:Int=_
def this(name:String,age:Int){
this()
this.name=name
this.age=age

}
def show(): Unit ={
println(s"name${name}\tage{age}")
}

}
object Worker{
//相当于静态属性
var x=123
//这个方法必须要重写
def apply(): Worker = new Worker()
def apply(name: String, age: Int): Worker = new Worker(name, age)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值