(一)面向对象的相关概念
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()
}
}
让输出信息更友好↓
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)
}
}