类的基本属性

目录

 

任务1.设计构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息;

任务1运行结果:

任务2.构造Student类继承Person类,并增加学校(school),学号(studentID)。

任务2运行结果:

任务3.按下列要求定义对象,对这两个类进行测试。

任务3运行结果:


任务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()

 

任务3运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值