2025年【无标题】【无标题】实验四 类和对象;类的继承和派生;多态性; 接口;构造器应用

【无标题】【无标题】实验四 类和对象;类的继承和派生;多态性; 接口;构造器应用1 编写一个应用程序 该程序中有 3 个类 Trangle Leder 和 Circle 分别用来刻画 三角形 梯形 和 圆形 要求 Trangle 类具有类型为 double 的三个边 以及周长 面积属性 Trangle 类具有返回周 长 面积以及修改三个边的功能

大家好,我是讯享网,很高兴认识大家。

1.

编写一个应用程序,该程序中有 3 个类:TrangleLeder Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

要求:Trangle 类具有类型为 double 的三个边,以及周长、面积属性,Trangle 类具有返回周

长、面积以及修改三个边的功能。另外,Trangle 类还具有一个 boolean 型的属性,该属性用

来判断三个属能否构成一个三角形。

Lader 类具有类型 double 的上底、下底、高、面积属性,具有返回面积的功能。

Circle 类具有类型为 double 的半径、周长和面积属性,具有返回周长、 面积的功能。

Triangle类

package lei; import java.util.Scanner; public class Triangle { private double a; private double b; private double c; private boolean isTriangle; //构造方法 public Triangle(){ } public Triangle(double a,double b,double c) { this.a=a; this.b=b; this.c=c; } //Triangle()方法 判断是不是三角形 public boolean Triangle() { if((a+b>c&&a-b<c)&&(a+c>b&&a-c<b)&&(b+c>a&&b-c<a)) { return true; }else { return false; } } //get set 得到三条边的长 public double getA() { return a; } public void setA(double a) { this.a=a; } public double getB() { return b; } public void setB(double b) { this.b=b; } public double getC() { return c; } public void setC(double c) { this.c=c; } //周长 public double getZhouChang() { isTriangle=Triangle(); //isTriangle = true或false if(isTriangle) { double zhou=a+b+c; return zhou; } else { System.out.println("三边不能构成上三角形!"); return 0; } } //面积 public double getMianJi() { isTriangle=Triangle(); //isTriangle = true或false if(isTriangle) { return (a+b+c)*0.5; }else { System.out.println("三边不能构成上三角形!"); return 0; } } //询问是否要修改三角形的三条边 public void Ask() { while(true) { System.out.println("请问是否要修改三角形的三条边"); System.out.println("是(请输入1)"); System.out.println("否(请输入0)"); Scanner sc=new Scanner(System.in); int select=sc.nextInt(); if(select==1) { UpDate(); }else { System.out.println("谢谢使用!"); break; } } } //更新边长 public void UpDate() { Scanner sc=new Scanner(System.in); System.out.println("请依次输入更改后的三角形的三条边:"); double a=sc.nextDouble(); double b=sc.nextDouble(); double c=sc.nextDouble(); //用set把a b c赋值给this.a,b,c 否则a b c的值没有改变 setA(a); setB(b); setC(c); System.out.println("三角形的周长:"+getZhouChang()); System.out.println("三角形的面积:"+getMianJi()); } }

讯享网

Lader类

讯享网package lei; public class Lader { private double shangDi; private double xiaDi; private double high; //构造方法 public Lader() { } public Lader(double shangDi,double xiaDi,double high) { this.shangDi=shangDi; this.xiaDi=xiaDi; this.high=high; } //set get public double getshangDi() { return shangDi; } public void setshangDi(double shangDi) { this.shangDi=shangDi; } public double getxiaDi() { return xiaDi; } public void setxiaDi(double xiaDi) { this.xiaDi=xiaDi; } public double gethigh() { return high; } public void sethigh(double high) { this.high=high; } // public double getMianji2() { double mianji=(shangDi+xiaDi)*high*0.5; return mianji; } }

Circle类

package lei; public class Circle { private double r; //构造方法 public Circle() { } public Circle(double r) { this.r=r; } //set get public double getr() { return r; } public void setr(double r) { this.r=r; } // public double getMianJi3(){ double s=3.1415*r*r; return s; } } 

测试:

讯享网package lei; import java.util.Scanner; public class shiyan4_1 { public static void main(String[] args) { Triangle T1=new Triangle(6,8,10); Lader l1=new Lader(4,6,3); //上底 下底 高 Circle c1=new Circle(5); //半径 Scanner sc=new Scanner(System.in); System.out.println("三角形的周长:"+T1.getZhouChang()); System.out.println("三角形的面积:"+T1.getMianJi()); T1.Ask(); System.out.println("梯形的面积是:"+l1.getMianji2()); System.out.println("圆的面积是:"+c1.getMianJi3()); } }

运行结果:


讯享网

 

2.编写一个公司员工类。

1) 数据成员:员工号、姓名、薪水、部门。

2) 方法:①设置数据成员信息;②显示信息。

要求:利用构造方法完成设置信息,其中有四个重载的构造方法

单参:只传递员工号,则员工姓名:无名氏。薪水:0,部门:未定。

双参:传递员工号,姓名,则员工薪水为 1000,部门:后勤

4 参:传递员工号,姓名,部门,薪水

无参:则均为空值

Staff类:

package lei; public class Staff { int staffId; String staffName; int staffSalary; String staffDepartment; //构造方法 //无参 public Staff() { this.staffId=0; this.staffName=null; this.staffSalary=0; this.staffDepartment=null; } //单参 public Staff(int staffId) { this.staffId=staffId; this.staffName="无名氏"; this.staffSalary=0; this.staffDepartment="未定"; } //双参 public Staff(int staffId,String staffName) { this.staffId=staffId; this.staffName=staffName; this.staffSalary=1000; this.staffDepartment="后勤"; } //四参 public Staff(int staffId,String staffName,int staffSalary,String staffDepartment) { this.staffId=staffId; this.staffName=staffName; this.staffSalary=staffSalary; this.staffDepartment=staffDepartment; } // get set public int getStaffId() { return staffId; } public void setStaffId(int staffId) { this.staffId = staffId; } public String getStaffName() { return staffName; } public void setStaffName(String staffName) { this.staffName = staffName; } public int getStaffSalary() { return staffSalary; } public void setStaffSalary(int staffSalary) { this.staffSalary = staffSalary; } public String getStaffDepartment() { return staffDepartment; } public void setStaffDepartment(String staffDepartment) { this.staffDepartment = staffDepartment; } public void print() { System.out.println("员工号:"+this.staffId+" "+"员工名:"+this.staffName+" "+"工资:"+ this.staffSalary+" "+"职位:"+this.staffDepartment); }

测试:

讯享网public class shiyan4_2 { public static void main(String[] args) { Staff s1=new Staff(); Staff s2=new Staff(10002); Staff s3=new Staff(10003,"李四"); Staff s4=new Staff(10004,"王五",2000,"前台"); s1.print(); s2.print(); s3.print(); s4.print(); } }

运行结果:

 

3.完成图书馆管理系统中相关的类定义。

1) 定义与编写学生 student 类,学生属性包括“学号”、“姓名”、“性别”、“专业”、“班级”。

2) 定义与编写图书 book 类,图书属性包括“书名”、“ISBN 号”、“册数”。

3) 登陆角色 role 类,角色类包括“用户名”、“密码”、“角色类型”。

要求:1、完成以上各类中的 setter 和 getter 接口

2、测试以上各类,并写出每个测试用例

Student类:

package lei; public class Student { String sno; String sname; String sex; String major; String sclass; public Student() { super(); } public Student(String sno, String sname, String sex, String major, String sclass) { super(); this.sno = sno; this.sname = sname; this.sex = sex; this.major = major; this.sclass = sclass; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public String getSclass() { return sclass; } public void setSclass(String sclass) { this.sclass = sclass; } @Override public String toString() { return "Student [学号=" + sno + ", 姓名=" + sname + ", 性别=" + sex + ", " + "专业=" + major + ", 班级=" + sclass+ "]"; } // public void print() { // System.out.println("学号:"+this.sno+" 姓名"+this.sname+" 性别:"+ // this.sex+" 专业:"+this.major+" 班级"+this.sclass); // } }

Book类:

讯享网package lei; public class Book { String bname; String bno; int bsum; public Book() { } public Book(String bname,String bno,int bsum) { this.bname=bname; this.bno=bno; this.bsum=bsum; } public String getbname() { return bname; } public void setbname(String bname) { this.bname=bname; } public String getbno() { return bno; } public void setbno(String bno) { this.bno=bno; } public int getbsum() { return bsum; } public void setbsun() { this.bsum=bsum; } @Override public String toString() { return "Book [书名=" + bname + ", 编号=" + bno + ", 册数=" + bsum + "]"; } }

Role类:

package lei; public class Role { String userName; String password; String roleType; //学生 老师 家长 public Role() { super(); } public Role(String userName, String password, String roleType) { super(); this.userName = userName; this.password = password; this.roleType = roleType; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRoleType() { return roleType; } public void setRoleType(String roleType) { this.roleType = roleType; } @Override public String toString() { return "Role [用户名=" + userName + ", 密码=" + password + ",角色类型=" + roleType + "]"; } }

测试:

讯享网package lei; public class shiyan4_3 { public static void main(String[] args) { Student s1=new Student("1002","苏安乐","女","医学信息工程","2020级医学信息工程本科班"); Book b1=new Book("云边有个小卖铺","",1); Role r1=new Role("安乐","","学生"); System.out.println(s1); System.out.println(b1); System.out.println(r1); // s1.print(); } }

运行结果:

 

明天会更好,加油吧

小讯
上一篇 2025-02-13 19:58
下一篇 2025-03-02 19:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/128396.html