面向对象的相关概念
面向对象的三大思想特点是:
(1) 更符合人们的思考习惯
(2) 把复杂的事情简单化
(3) 把程序员从执行者变成指挥者
面向对象的三大特征是
(1) 封装
(2) 继承
(3) 多态
创建类和对象
在Scala中,用class来创建类,用new来创建对象。
package level02
object class01 {
// class 类
class Student(var name:String) {
def sayHello():Unit={
println(s"我是${name}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象 stu
val stu =new Student("小花")
// 调用对象的方法
stu.sayHello()
}
}
构造函数
主构造函数的参数:
1. var 是可以修改的属性
2. val 是不可以修改的属性
3.而没有使用val或者var修饰的,不是属性,不可在外部访问,不可改写。
辅助构造函数:
1. 构造函数(构造器)的作用是创建对象。
2. 构造函数可以有多个。可以有很多个,其他的叫辅助构造函数。
package level02
object class01 {
// class 类
//Student 构造函数,用来创建对象,new的时候,就会自动被调用一次
// 构造函数:
// (1):主构造函数
// (2):辅助构造函数
// 特点:名字就叫this。它的代码的第一行必须是调用主构造器。可以有多个
class Student(var name:String,var age:Int) {
println("Student构造函数被调用.....")
// 辅助构造函数1
def this (name:String){
this(name,15)
println("辅助构造函数被调用.....")
}
// 辅助构造函数2
def this (age:Int){
this("未知",age)
println("辅助构造函数被调用.....")
}
def sayHello():Unit={
println(s"我是${name},今年${age}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象 stu
// new 的时候,就会自动调用一次构造函数
val stu =new Student("小花",18)
// 调用对象的方法
stu.sayHello()
val stu1=new Student("小明")
stu1.sayHello()
val stu2=new Student(20)
stu2.sayHello()
}
}