目录
任务1.设计构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息;
任务2.构造Student类继承Person类,并增加学校(school),学号(studentID)。
任务1.设计构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息;
class Person(){
var name=""
var sex=""
var age=0
def names = name
def sexs = sex
def ages = age
def name_(newName:String):Unit={
this.name = newName
}
def sex_(newSex:String):Unit={
this.sex = newSex
}
def age_(newAge:Int):Unit={
this.age = newAge
}
def print():Unit={
println(this.name+'\t'+this.sex+'\t'+this.age)
}
}
任务1运行结果:
任务2.构造Student类继承Person类,并增加学校(school),学号(studentID)。
class Person(){
var name=""
var sex=""
var age=0
def names = name
def sexs = sex
def ages = age
def name_(newName:String):Unit={
this.name = newName
}
def sex_(newSex:String):Unit={
this.sex = newSex
}
def age_(newAge:Int):Unit={
this.age = newAge
}
def print():Unit={
println(this.name+'\t'+this.sex+'\t'+this.age)
}
}
class Students extends Person{
private[this] var _school:String = ""
private[this] var _studentId:String = ""
def school:String = _school
def school_=(value:String):Unit = {
_school = value
}
def studentId:String=_studentId
def studentId_=(value:String):Unit = {
_studentId = value
}
def printsc():Unit = {
println(this.name+'\t'+this.sex+'\t'+this.age+'\t'+this._school+'\t'+this.studentId)
}
}
任务2运行结果:
任务3.按下列要求定义对象,对这两个类进行测试。
测试:(1)定义一个名为per1:自己的信息(如张三,男,19)的Person对象,输出该对象的相关信息;
(2)定义一个名为stu1的 Student对象,学校是“YBU”, 学号为:2020001(自己的学号),输出该对象的相关信息 ;
(3)修改stu1的年龄为20(年龄加1),姓名为zhangsan(自己名字的拼音),输出修改后的sut1信息。
(4)在Person类中添加两个构造函数,使之能够定义名字和定义名字、年龄的对象。
val p1=new Person() val p2=new Person(“aaa”)
val p3=new Person(“bbb”,25)
分析p1.print()、 p2.print()、p3.print()分别输出什么?为什么?
class Person(){
var name=""
var sex=""
var age=0
def names = name
def sexs = sex
def ages = age
def this(name:String ){
this()
this.name=name
}
def this(name:String,age:Int){
this(name)
this.age=age
}
def name_(newName:String):Unit={
this.name = newName
}
def sex_(newSex:String):Unit={
this.sex = newSex
}
def age_(newAge:Int):Unit={
this.age = newAge
}
def print():Unit={
println(this.name+'\t'+this.sex+'\t'+this.age)
}
}
class Students extends Person{
private[this] var _school:String = ""
private[this] var _studentId:String = ""
def school:String = _school
def school_=(value:String):Unit = {
_school = value
}
def studentId:String=_studentId
def studentId_=(value:String):Unit = {
_studentId = value
}
def printsc():Unit = {
println(this.name+'\t'+this.sex+'\t'+this.age+'\t'+this._school+'\t'+this.studentId)
}
}
val per1 =new Person
per1.name="张三"
per1.sex="男"
per1.age=19
per1.print()
val stu1 = new Students
stu1.name="zhangsan"
stu1.sex="男"
stu1.age=20
stu1.school="YBU"
stu1.studentId="2020001"
stu1.printsc()
val p1=new Person()
p1.print()
val p2=new Person("aaa")
p2.print()
val p3=new Person("bbb",25)
p3.print()