scala中的类和对象

18 阅读1分钟
1. 什么是面向对象?

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

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

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

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

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

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

(1) 封装

(2) 继承

(3) 多态

创建类和对象

在Scala中,用class来创建类,用new来创建对象。

1. var/val  来定义成员变量

2. 对象可以通过对象名. 成员变量的方式来访问成员变量

3.在scala的类中,使用def定义成员方法。

注意:返回值的类型可以不写,由Scala自动进行类型推断

package lalala

class Student(var name: String, val age: Int) {
  println("Student.......")
  def this() = {
    this("未知", 18)
    println("辅助构造器被调用了...")
  }

  def this(age: Int) = {
    this("未知", age)
  }

  def sayHi(): Unit = {
    println(s"我是$name,今年${age}")
  }
}

object Class02 {
  def main(args: Array[String]): Unit = {
    val stu1 = new Student("小明", 18)
    val stu2 = new Student()
    val stu3 = new Student(20)

    // 调用对象的方法
    stu1.sayHi()
    stu2.sayHi()
    stu3.sayHi()
  }
}

new Class() 就是在调用构造器,或者叫调用构造函数。

package lalala

object Class03 {
    class Student(val name: String, val age: Int) {

      private val hobbies: String = "躲在被子,打手电看恐怖小说"

      private def hobby(): Unit = {
        println(s"${hobbies}")
      }

      def sayHi(): Unit = {
        println(s"${name}, ${age}")
        hobby()  // 在类的内部,可以调用私有方法
      }
    }

    def main(args: Array[String]): Unit = {
      val stu = new Student("小李", 18)
      stu.sayHi()

    }

}