scala中的类和对象

32 阅读2分钟

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

1. 什么是面向对象?

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

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

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

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

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

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

(1) 封装

(2) 继承

(3) 多态

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

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

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

(二)创建类和对象

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

(创建一个Person类,并创建它的对象,然后将对象打印到控制台上。)

1. 使用IDEA创建一个scala项目,并创建object类。

2.设置项目名,包名,项目地址。注意不要使用中文,空格,特殊符号作为名字及路径名。

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

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

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

步骤:

1. 创建一个Object类,添加main方法

2. 创建Person类,添加姓名字段和年龄字段,并对字段进行初始化,让scala自动推断

3. 在main方法中创建Person类对象,设置成员变量

4. 打印对象的名字和年龄

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

类可以有自己的行为,scala中也可以通过定义成员方法来定义类的行为。

object K07 {
  // 私有 private
  class Student(var name: String, var age: Int) {

    // 在方法前面添加 private,这个方法是私有的,它不能在 class的 外部被访问
    private def song(): Unit = {
      println("我在唱歌....")
    }

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

      // 私有方法,在类的内部是可以正常调用的
      song()
    }
  }

  def main(args: Array[String]): Unit = {
    val stu3 = new Student("小明", 18)
    stu3.sayHi()
    // stu3.song() // 会报错
  }
}

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

(五)理解构造器

构造器是一个函数,在new的时候,被自动调用,它的作用是实例化对象。

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

object Main {
    // 定义类

class Customer() {
    println("构造函数被调用")
  }

  def main(args: Array[String]): Unit = {
    val c = new Customer()

  }
}