1.面向对象的三大特征是
(1) 封装
(2) 继承
(3) 多态
2.什么是类class 类是属性和行为的集合。
(1) 属性也叫成员变量:名词,用来描述事物的外在特征
(2) 行为也叫成员方法:动词,表示事物能做什么
举例:学生有姓名和年龄这些是属性,学生要学习,要吃饭这些是行为。
scss
体验AI代码助手
代码解读
复制代码
object basic28 {
class Student(){}
def main(args: Array[String]): Unit = {
// 2. 创建对象(实例化对象)
// 对象名 =new 类名()
val st1 = new Student()
println(st1)
val st2 = new Student()
println(st2)
}
}
结果:
(一)定义和访问成员变量****
案例
1. 定义一个Person类,包含姓名和年龄字段
2. 创建一个名为小花,年龄为20的对象
3. 打印对象的名字和年龄
kotlin
体验AI代码助手
代码解读
复制代码
object basic28 {
class Student() {
var name:String ="小花"
var age:Int =18
def sayHello()={
println(s"我是${age}岁的${name}")
}
}
def main(args: Array[String]): Unit = {
val st1 = new Student()
println(st1.name)
st1.sayHello()
//val st2 = new Student()
// println(st2)
}
}
结果:
输出小花小明
scss
体验AI代码助手
代码解读
复制代码
object basic29 {
class Student(var name:String="小花",var age :Int = 18) {
def sayHello()={
println(s"晚上${age}岁的${name}")
}
}
def main(args: Array[String]): Unit = {
val st1 = new Student()
println(st1.name)
val st2 = new Student("小明",19)
println(st2.name)
}
}
结果:
求三角形的面积
scss
体验AI代码助手
代码解读
复制代码
object basic30 {
class Triangle(a:Double ,b:Double,c:Double) {
def getAera():Double={
var s =(a+b+c)/2
s=s*(s-a)*(s-b)*(s-c)
return Math.sqrt(s)
}
}
def main(args: Array[String]): Unit = {
var t1 = new Triangle(3,4,5)
println(t1.getAera())
val t2 = new Triangle(4,4,4)
println(t2.getAera())
}
}
结果:
求三角形的面积和判断是否是一个三角形
scss
体验AI代码助手
代码解读
复制代码
object basic30 {
class Triangle(a:Double,b:Double,c:Double) {
def getArea():Double={
if (check()){
var s=(a+b+c) /2
s=s*(s-a)*(s-b)*(s-c)
return Math.sqrt(s)
} else {
print("不能构成三角形")
return 0;
}
}
def check():Boolean={
return (a+b)>c && (a+c)>b && (b+c)>a
}
}
}
def main(args: Array[String]): Unit = {
val t1=new Triangle(3,4,5)
println(t1.getArea())
val t2=new Triangle(1,1,4)
println(t2.getArea())
}
结果:
案例:
kotlin
体验AI代码助手
代码解读
复制代码
object basic32 {
class User(val phone:String,var pwd:String) {
var email:String=""
var name:String=""
def this (email:String,name:String,pwd:String){
this("",pwd)
this.name=name
this.email =email
}
def this(email:String,name:String,pwd:String,phone:String) {
this(phone,pwd)
this.name=name
this.email=email
}
def say()={
println(s"我的信息如下:")
println(s"姓名:${name}")
println(s"手机号:${phone}")
println(s"邮箱:${email}")
println(s"密码:${pwd}")
}
}
结果: