Scala中的类和对象

32 阅读3分钟

二、 讲授新课****

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

[教师讲授]

1. 什么是面向对象?

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

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

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

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

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

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

(1) 封装

(2) 继承

(3) 多态

[举例]: 封装,隐藏实现细节;继承,不劳而获的幸福;多态:丰富多彩的世界。

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

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

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

[举例]:学生有姓名和年龄这些是属性,学生要学习,要吃饭这些是行为。

 

(二) 创建类和对象****

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

[展示需求]

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

[讲解步骤]

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

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


// 定义类  
class Person{ }  


  def main(args: Array[String]): Unit = {

    println("Hello world!")

    // 创建对象

    val p = new Person()

    println(p)

  }

}

}

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

[编码讲解]定义和访问成员变量。

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

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

[说明需求] 

1.  定义一个Person类,包含姓名和年龄字段

2.  创建一个名为张三,年龄为20的对象

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

步骤****

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

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

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

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


  // 定义类

  class Person{

    var age: Int = 20

    val name: String = "小明"

  }

  def main(args: Array[String]): Unit = {

    println("Hello world!")

    // 创建对象

    val p = new Person()

    println(p.name)

    p.age = 21

    println(p.age)

  }

}

[示范技巧]:使用下划线初始化成员变量。var可以让系统去设置默认值;例如var name:String = _

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

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

[讲解格式]

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


// 方法体

}

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

案例,[讲解需求] 一个名为customer的类,有两个属性,一个方法。

 

[教师编码现场演示]


 // 定义类

class Customer {

    var name: String = _

    var sex:String = "男"

    def sayHello(msg:String ) = {

      println("msg:", msg)

    }

  }

  def main(args: Array[String]): Unit = {

    val c = new Customer()

    c.sayHello("你好 ")

  }

}