Scala 中的类 和 对象

35 阅读2分钟

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

  • 1. 什么是面向对象?

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

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

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

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

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

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

(1) 封装:隐藏实现细节

(2) 继承:不劳而获的幸福

(3) 多态:丰富多彩的世界

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

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

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

(二)创建类和对象

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

object basic26 {

  // 1.定义一个类
  // 类名:首字母大写
  // class 类名(){ }
  class Student() {
    // 属性
    // 定义属性和定义变量一致
    var name: String = "hlz"
    var age: Int = 20

    // 方法
    // 定义方法和定义函数一样
    def sayHello() = {
      println(s"我是${age}岁的${name}")
    }
  }

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

    val st1 = new Student()
    // 通过 对象.属性名 来访问属性
    println(st1.name)

    // 通过 对象.属性名() 来调用方法
    st1.sayHello()

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

(三)定义和访问成员变量

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

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

(四)定义和访问成员方法

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

(五)理解构造器

  • 构造器是一个函数,在new的时候,被自动调用,它的作用是实例化对象。
  • new Class() 就是在调用构造器,或者叫调用构造函数。
  • 构造函数的参数

格式: class 类名([参数列表])

构造函数

object basic27 {
  // 带参数的构造器(构造函数)
  class Student (var name:String = "胡胡",var age:Int = 20){
    // 方法
    // 定义方法和定义函数一样
    def sayHello() = {
      println(s"我是${age}岁的${name}")
    }
  }

  def main(args: Array[String]): Unit = {
    // new Student()
    // 1.调用构造器 第五行
    // 2.没有传入相关的参数 使用默认器
    val st1 = new Student()
    new Student()
    println(st1.name)

    // new Student("连连",19)
    //  1.调用构造器 第五行
    // 2.传入相关的参数

    val st2 = new Student("连连",19)
    println(st2.name)
  }
}