继承和封装练习题

一、继承练习题

将以下类分别封装,定义setter和getter方法用于存值和取值

定义人类Person,将Person类定义为抽象类,
(1)字段:身份证号idCard,姓名name,性别gender,年龄age,职业profession,联系方式phone。
并定义相应的属性;
(2)定义函数message()输出个人的基本信息
(3)定义无参构造函数,并打印一句话,输出“我是人类”。

定义一个教师类Teacher,继承于人类;
(a)具有字段:职工号wordID,所教授的课程名curriculum,所属院系academy,并定义相应的属性
(b)定义有参和无参构造函数。
(c)定义一个普通方法teach(),输出我是教学的。

定义一个数学教师类MathTeacher,继承于教师类;
(a)重写父类的teach();输出我是从事数学教学的。
(b)定义无参构造函数。再写一个带参数的构成函数MathTeacher(String name)
(c)有两个重载方法,ready(),ready(String scource);

定义一个英语教师类EnglishTeacher,继承于教师类;
(a)重写父类的teach();输出我是从事英语教学的。
(b)定义无参构造函数。再写一个带参数的构成函数EnglishTeacher(String name),并显式调用父类的带参构造方法
(c)有两个重载方法,write(),write(String scource);

二、模拟计算器

定义为Number类,其中有两个整型数据成员n1和n2,应声明为私有。编写有参和无参构造方法,初始化n1和n2的值,再为该类定义加、减、乘、除等公有成员方法,分别对两个变量执行加减乘除的运算,并将其值输出。要求在类中判断输入的n1和n2的值是否为正整数,如果是正整数则进行计算,否则提示“请输入两个正整数”并让用户重新输入
测试类:要求从控制台输入两个数据,使用模拟计算器分别计算出加减乘除的值

三、编写自定义类实现图书信息设置

属性:书名、作者、出版社、价格
方法:信息介绍
要求:
·设计构造函数实现对属性的赋值
·设置私有属性,getter/setter方法实现对属性的访问
·限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
·限定作者、书名均为只读属性
·信息介绍方法描述图书所有的信息

四、编写用户信息类

任务:·用户类:
·属性:用户名、密码
·用户管理类:
·方法:用户信息验证
要求:
1、设计构造函数实现对属性的赋值
2、设置私有属性,getter/setter方法实现对属性的访问
3、用户信息验证判断两个用户信息是否一致。当用户名和密码都一致的时候返回:用户名和密码一致;否则返回不一致

五、编写一个类Student1,代表学员,要求如下:

·具有属性:姓名和年龄,其中年龄不能小于16岁,否则输出错误信息。
·具有方法:自我介绍,负责输出该学员的姓名和年龄。
编写测试类Student1Test进行测试,看是否符合需求

六、编写一个类Student2,代表学员,要求如下:

·具有属性:姓名、年龄、性别和专业。
·具有方法:自我介绍,负责输出学员的姓名、年龄、性别和专业。
·具有两个带参构造方法:在第一个构造方法中,设置学员的性别为男,专业为Java,其余的属性值由参数给定;在第二个构造方法中,所有的属性的值都由参数给定。
编写测试类Student2Test进行测试,分别以两种方式完成对两个Student2对象的初始化工作,并分别调用他们的自我介绍方法,看输出结果是否正确。

七、设计Bird、Fish类,都继承自抽象类Animal,实现其抽象方法info(),并输出它们的信息,参考运行结果如下,并要求画出类图。

在这里插入图片描述

八、兜兜家养了两只家禽:一只鸡和一只鸭。请用面向对象思想的封装、继承的特性进行描述,参考运行结果如下。

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值