java 继承 三小一大_java继承3个小题

news/2024/11/25 20:40:22/

1、实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。具体要求如下:

(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);

(2)Employee类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(String类型);

(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);

(4)Staff类中的属性有:职务称号duty(String类型)。

public classPerson {privateString name;privateString address;privateString telphone;privateString email;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getAddress() {returnaddress;

}public voidsetAddress(String address) {this.address =address;

}publicString getTelphone() {returntelphone;

}public voidsetTelphone(String telphone) {this.telphone =telphone;

}publicString getEmail() {returnemail;

}public voidsetEmail(String email) {this.email =email;

}

}

public class Employee extendsPerson {privateString office;private doublewage;privateString hiredate;publicString getOffice() {returnoffice;

}public voidsetOffice(String office) {this.office =office;

}public doublegetWage() {returnwage;

}public void setWage(doublewage) {this.wage =wage;

}publicString getHiredate() {returnhiredate;

}public voidsetHiredate(String hiredate) {this.hiredate =hiredate;

}

}

public class Faculty extendsEmployee{privateString degree;privateString level;publicString getDegree() {returndegree;

}public voidsetDegree(String degree) {this.degree =degree;

}publicString getLevel() {returnlevel;

}public voidsetLevel(String level) {this.level =level;

}

}

public class Staff extendsEmployee {privateString duty;publicString getDuty() {returnduty;

}public voidsetDuty(String duty) {this.duty =duty;

}

}

测试:

public classF {public static voidmain(String[] args) {

Faculty a=newFaculty();

a.setName("张三");

a.setTelphone("123456788");

a.setDegree("本科");

a.setLevel("一级");

a.setEmail("12345877@qq.com");

System.out.println("员工姓名:"+a.getName()+" 电话"+a.getTelphone()+

" 学位"+a.getDegree()+" 级别"+a.getLevel()+" 邮箱"+a.getEmail());

Employee b=newEmployee();

b.setName("张三");

b.setTelphone("123456788");

b.setEmail("12345877@qq.com");

b.setOffice("A座407");

b.setWage(20000);

System.out.println("员工姓名:"+b.getName()+" 电话"+b.getTelphone()+

" 邮箱"+a.getEmail()+" 办公室"+b.getOffice()+" 工资"+b.getWage());

}

}

d56bf1cd170253ca8e854e3c6258a9aa.png

2、编写一个Car类,具有String类型的属性品牌,具有功能drive;定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。

public classCar {private String pinpa; //品牌属性

private doublesudu;publicString getPinpa() {returnpinpa;

}public voidsetPinpa(String pinpa) {this.pinpa =pinpa;

}public doublegetSudu() {returnsudu;

}public void setSudu(doublesudu) {this.sudu =sudu;

}publicString drive(){return "汽车已启动!";

}

}

public class Aodi extendsCar{private doublejiage;privateString xinghao;public doublegetJiage() {returnjiage;

}public void setJiage(doublejiage) {this.jiage =jiage;

}publicString getXinghao() {returnxinghao;

}public voidsetXinghao(String xinghao) {this.xinghao =xinghao;

}public doublebiansu(){double sudu=super.getSudu()+10;returnsudu;

}

}

public class Benchi extendsAodi{public doublebiansu(){double sudu=super.getSudu()+20;returnsudu;

}

}

测试:

public classE {public static voidmain(String[] args){

Aodi aodi=newAodi();

aodi.setJiage(500000);

aodi.setXinghao("奥迪A6");

System.out.println("奥迪车的型号是:"+aodi.getXinghao()+" 价格是:"+aodi.getJiage());

System.out.println(aodi.drive());

System.out.println("启动后的速度为:"+aodi.biansu());

Benchi benchi=newBenchi();

benchi.setJiage(800000);

benchi.setXinghao("奔驰2000");

System.out.println("奔驰车的型号是:"+benchi.getXinghao()+" 价格是:"+benchi.getJiage());

System.out.println(benchi.drive());

System.out.println("启动后的速度为:"+benchi.biansu());

}

}

659675cf411a99ade9c7269cce89b1a1.png

3、按要求编写一个Java应用程序:

(1)编写一个矩形类Rect,包含:

两个属性:矩形的宽width;矩形的高height。

两个构造方法:

1.一个带有两个参数的构造方法,用于将width和height属性初化;

2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

矩形的左上角坐标来标识,包含:

添加两个属性:矩形左上角坐标startX和startY。

两个构造方法:

带4个参数的构造方法,用于对startX、startY、width和height属性初始化;

不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;

添加一个方法:

判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。

提示:点在矩形类是指满足条件:x>=startX&&x<=(startX+width)&&y=(startY-height)

(3)编写PlainRect类的测试程序创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;计算并打印输出矩形的面积和周长;判断点(25.5,13)是否在矩形内,并打印输出相关信息。

public classRect {//声明属性

private doublewidth;private doubleheight;//带参数构造方法

public Rect(double width,doubleheight){this.width=width;this.height=height;

}//无参的构造方法

publicRect(){this.width=10;this.height=10;

}//成员方法 周长

public doubleperimeter(){doubleperimeter;

perimeter=(width+height)*2;returnperimeter;

}//成员方法 面积

public doublearea(){doublearea;

area=width*height;returnarea;

}//getter/setter方法

public doublegetWidth() {returnwidth;

}public void setWidth(doublewidth) {this.width =width;

}public doublegetHeight() {returnheight;

}public void setHeight(doubleheight) {this.height =height;

}

}public class PlainRect extendsRect {//声明属性

private intstartX;private intstartY;//含参构造方法

public PlainRect(int startX,int startY,double width,doubleheight){super(width,height); //调用父类构造方法

this.startX=startX;this.startY=//不含参构造方法

publicPlainRect(){

super(0,0);this.startX=0;this.startY=0;

}//成员方法 判断点与矩形位置

public boolean isInside(double x,doubley){returnx>=startX&&x<=(startX+getWidth())&&y=(startY-getHeight());}

}

public classTestPlainRect {public static voidmain(String[] args) {//创建矩形

PlainRect rect =new PlainRect(10,10,20,10);//打印输出

System.out.println("长为20,宽为10的矩形的面积是:"+rect.area());

System.out.println("长为20,宽为10的矩形的周长是:"+rect.perimeter());if(rect.isInside(25.5, 13)==true){

System.out.println("点(25.5,13)在矩形内");

}else{

System.out.println("点(25.5,13)不在矩形内");

}

}

}

c58aa0fd85dc885f3a121ef94b29d63d.png


http://www.ppmy.cn/news/779442.html

相关文章

华为因客户购买加长奔驰 专利申请数全球第一

到2008年为止&#xff0c;华为183亿美元的总收入中&#xff0c;海外收入的比重已经达到75% 最近华为新买了一辆加长奔驰&#xff0c;这让华为总裁任正非也有点好奇&#xff0c;当他看到这辆豪华轿车时&#xff0c;还有点不满地抱怨了一句&#xff0c;这么贵的车&#xff0c;原…

微信公众号数据2019_清博大数据 | 2019年测绘之家微信公众号数据专属报告:估值相当于6辆奔驰S...

多少次抓选题抓到头秃&#xff1b; 多少次半夜守候在屏幕前&#xff0c;等着领导的一句OK&#xff1b; 多少次紧张的点开又关闭&#xff0c;害怕阅读量低&#xff0c;更怕大家不喜欢&#xff1b; 修图、写文案、修改、再修改、排版、编辑…… 好了&#xff0c;新年已至&#…

2019中国汽车保值率榜单揭晓,梅赛德斯-奔驰和东风本田成最大赢家

11月20日&#xff0c;由58车主办的 “2019中国汽车风行汇” 活动在广州保利洲际酒店成功召开。会上&#xff0c;58车、J.D. Power和优信联合公布了 “2019中国汽车保值率榜单TOP 5” 并颁发“紫檀奖2019中国汽车保值率风云榜”大奖。梅赛德斯-奔驰和东风本田成最大赢家&#xf…

回答E-Coupe是不是C级底盘?兼谈奔驰底盘的命名方式

有人说E-coupe是C级底盘。这种说法对不对呢&#xff1f;证据是E-coupe采用了和C-class类似的底盘。轴距是一样&#xff0c;同为2760mm。那么真相如何我们不妨从最基础的知识谈起&#xff1a; 奔驰的底盘代号是这样&#xff1a;W代表房车, C代表轿跑&#xff0c;A代表敞篷。S代表…

14年打工仔的杰作——奔驰GLC260豪华白用车感受

我&#xff0c;1980年生人&#xff0c;02年毕业参加工作&#xff0c;不甘于窝在小城市的我一年后毅然带着梦想来到北京工作&#xff0c;一飘就是14年…… 2010年12月3日在考虑对比良久后&#xff0c;我购买了人生的第一辆车&#xff0c;大众朗逸黑色运动版&#xff08;顶配&…

百得利控股通过上市聆讯:收入严重依赖保时捷,奔驰、奥迪销量下滑

日前&#xff0c;百得利控股有限公司&#xff08;BetterLife Holding&#xff0c;下称“百得利控股”&#xff09;通过港交所聆讯&#xff0c;并公布了聆讯后的招股书&#xff0c;补充披露了2020年度的财务数据。如果顺利&#xff0c;百得利控股或将在2021年7月在港交所上市。 …

丑小鸭的逆袭 试驾新一代奔驰A200

丑小鸭的逆袭 试驾新一代奔驰A200 奔驰A-Class自上市之初就因为车型造型“丑”而陷入了无人问津的境遇,为了打破这种尴尬局面,第三代奔驰A-Class从里到外彻底改换风格,誓在摆脱豪华品牌买菜车的命运。 做地道的运动型两厢车 第三代奔驰A-Class的诞生已经完全改变了人们以…

2014年奔驰 E300 警告灯与跛行模式 Part 1

在变化多端的世界中&#xff0c;有一项不变的商业模式就是车是会坏的&#xff0c;当我们随着复杂性增加想试图建立知识时&#xff0c;总是有些事情会阻碍我们。这个特殊案例也是&#xff0c;整个过程相当曲折受挫。 我们受托看一辆2014年的奔驰E300 BlueTec Hybrid。报告中的问…