scala中的类和对象

22 阅读1分钟

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

1.什么是面向对象?

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

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

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

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

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

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

(1)封装

(2)继承

(3)多态

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

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

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

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

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

package t2

object test2 {
  //class 类

  //student 构造函数,用来创建对象。
  class Student(var name:String,var age:Int) {
    //私有属性
    private val phoneNum:String="136xxxxxx"
    //私有方法
    private def hpbby():Unit={
      println(s"我的个人爱好是隐私信息....${phoneNum}")
    }

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

      hpbby() //在类的内部,可以访问私有成员
    }
  }

  def main(args: Array[String]): Unit = {
    //实例化类的对象 stu
    //new的时候,就会自动调用一次构造函数
    val stu =new Student("小花",18)
    //调用对象方法
    stu.sayHello()


  }
}

image.png

让输出信息更友好↓

package t2

object test3 {

  class Student(var name:String,var age:Int) {

    //目标:让对象被打印的时候,输出的信息更友好一些
    //做法:重写 toString方法
    //在使用println输出一个对象的时候,它会自动调用toString,并输出这个方法的返回值


    override def toString: String = s"Student(${name},${age})"

  }
  def main(args: Array[String]): Unit = {
    val stu1 =new Student("小花",18)
    val stu2 =new Student("小明",18)
    //打印输出一个对象,输出的信息不友好

    println(stu1)
    println(stu2)


  }
}

image.png