class的应用

43 阅读3分钟

1.什么是类class? 类是属性和行为的集合。

(1)属性也叫成员变量:名词,用来描述事物的外在特征

(2)行为也叫成员方法:动词,表示事物能做什么



object l10 {
  class Student() {

    var name: String = "小花"
    var age:Int=18
    
// 方法
// 定义方法和定义函数一致


    def sayHello(): Unit={
      println(s"我是${age} 岁的 ${name}")

    }


  }
  
// new class会发生什么?
// new 会调用一次 构造器(或者叫构造函数) 代码。
// 构造器 ==== class
// 构造器的作用:生产对象。

  def main(args: Array[String]): Unit = {
  
// 2. 创建对象(实例化对象)
    // 对象名 = new 类名()

    val st1=new Student()
    println(st1.name)
    
    st1.sayHello()

    //val st2=new Student()
    //println(st2)
  }
}


2.带参数的结构器


object l11 {
// 带参数的构造器(构造函数)
  class Student(var name: String = "小花", var age:Int=18) {
// 方法// 定义方法和定义函数一致
    def sayHello(): Unit={
      println(s"我是${age} 岁的 ${name}")
//new Student ()
// 1. 调用构造器,第 5 行。
// 2. 没有传入相关的参数,使用默认值。
    }
  }

  def main(args: Array[String]): Unit = {
    val st1=new Student()
    println(st1.name)
//new Student ("小明", 19)
// 1. 调用构造器,第 5 行。
// 2. 传入相关的参数。
    val st2=new Student("小明",19)
    println(st2.name)
  }

}

3.三角形的面积


object l12 {
  //面向对象编程三个特点
  //封装,继承,多态
  class Triangle(a:Double,b:Double,c:Double) {
    //计算面积
    def getAera(): Double={
      //能否根据三条边长,来计算面积?海伦公式

    var s=(a+b+c)/2
      s=s*(s-a)*(s-b)*(s-c)
    return Math.sqrt(s)//math.sqrt(4) ==>2 就是开平方操作
    }
  }

  def main(args: Array[String]): Unit = {
    //Triangle表示一个三角形类。
    //Triangle(边长1,边长2,边长3)

    val t1=new Triangle(3,4,5)
    println(t1.getAera())//获得面积

    val t2=new Triangle(4,4,4)
    println(t2.getAera())//获得面积
  }

}


object l13 {
  //面向对象编程三个特点
  //封装,继承,多态
  class Triangle(a:Double,b:Double,c:Double) {
    //计算面积
    def getAera(): Double={
      if(check()){
      //能否根据三条边长,来计算面积?海伦公式
    var s=(a+b+c)/2
      s=s*(s-a)*(s-b)*(s-c)
    return Math.sqrt(s)//math.sqrt(4) ==>2
        }else{
        print("不能构成三角形")
        return 0;
      }
    }

  //检查是否能构成三角形
  def check():Boolean= {
    //任意两边之和大于第三边
    return (a + b) > c && (a + c) > b && (b + c) > a
    }
  }

  def main(args: Array[String]): Unit = {
    //Triangle表示一个三角形类。
    //Triangle(边长1,边长2,边长3)

    val t1=new Triangle(3,4,5)
    println(t1.getAera())//获得面积

    val t2=new Triangle(1,1,4)
    println(t2.getAera())//获得面积
  }

}

4.构造器的参数修饰符


object l17 {
  class User(val phone: String, var pwd: String) {
    var email: String = ""
    var name: String = ""

    // 辅构造器
    def this(email: String, name: String, pwd: String) {
      // 调用一次主构造器
      this("", pwd)
      // 再对其他的属性赋值
      this.name = name
      this.email = email
    }

    // 辅构造器
    def this(email: String, name: String, pwd: String, phone: String) {
      // 调用一次主构造器
      this(phone, pwd)
      // 再对其他的属性赋值
      this.name = name
      this.email = email
    }

    def say(): Unit = {
      println(s"我的信息如下:")
      println(s"姓名:${name}")
      println(s"手机号:${phone}")
      println(s"邮箱:${email}")
      println(s"密码:${pwd}")
    }
  }
  def main(args: Array[string]):Unit={
    var u1=new User("13617891234","123456")
    u1.say()

    var u2=new User("12345@qq.com","小花","123456")
    u2.say()
    var u3=new User("12345@qq.com","小花","13617891234")
    u3.say()
  }
}

总结

Scala 类的特性体现了其简洁性和灵活性

2. Scala中的对象;

(一)[面向对象的相关概念]

1.什么是面向对象:

它是一种编程思想,它是基于面向对象的,强调的是以对象为基础完成各种操作。

2.面向对象的三大思想特点是什么:

(1) 更符合人们的思考习惯

(2) 把复杂的事情简单化

(3) 把程序员从执行者变成指挥者

3. 面向对象的三大特征是

(1) 封装

(2) 继承

(3) 多态

4. 什么是类class? 类是属性行为的集合。

(1) 属性也叫成员变量:名词,用来描述事物的外在特征

(2) 行为也叫成员方法:动词,表示事物能做什么

作者:谁黑皮谁肘击谁在连累直升机
链接:juejin.cn/post/755504…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。