实验5-封装与继承实验报告_第1页
实验5-封装与继承实验报告_第2页
实验5-封装与继承实验报告_第3页
实验5-封装与继承实验报告_第4页
实验5-封装与继承实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

福建工程学院&信息科学与工程学院 实验报告课程名称面向对象程序设计任课教师姓名潘万丁学号年级15级专业网络工程班级网工1502实验编号实验5实验名称封装与继承实验内容:1学生类编写学生类,满足以下需求:(1)学号、性别、年龄、专业、年级设为私有属性,并提供公共的set和get方法;姓名为共有属性。(2)提供带参数的构造方法。(3)学号只能是8位,且都为数字,否则置为8个0。(4)性别只能是“男”或“女”,否则设置为“未知”。(5)年龄必须大于等于13,小于等于60,否则设置为默认值18。(6)专业只能是“软件工程”、“计算机科学与技术”、“物联网工程”、“网络工程”中,否则设置为“未分配”。(7)年级只能是1900-9999,否则置为0。public class LoginDemo public static void main(String args) 源代码:package ceshi1;import java.util.ArrayList;import java.util.LinkedList;public class Students private String ID;private String Sex;private int Age;private String Major;private int Grade;public String Name;public String getID()return ID;public void setID(String iD) if(!iD.matches(0-98)iD=00000000;this.ID=iD;public String getSex()return Sex;public void setSex(String sex)if (!男.equals(sex)& !女.equals(sex) sex=未知;this.Sex=sex;public int getAge()return Age;public void setAge(int age) if(age60)age=18;this.Age=age;public String getMajor() return Major;public void setMajor(String major) ArrayList m=new ArrayList();m.add(软件工程);m.add(计算机科学与技术);m.add(物联网工程);m.add(网络工程);if(!m.contains(major)major=未分配;this.Major=major;public int getGrade() return Grade;public void setGrade(int grade) if(grade9999)grade=0;this.Grade=grade;public Students(String iD,String sex,int age,String major,int grade,String name) setID(iD);setSex(sex);setAge(age);setMajor(major);setGrade(grade);this.Name = name;public void Display() System.out.println(学号:+getID();System.out.println(姓名:+Name);System.out.println(性别: + getSex();System.out.println(年龄: + getAge();System.out.println(专业: + getMajor();System.out.println(年级: + getGrade();public static void main(String args) / TODO 自动生成的方法存根Students a1 = new Students(20180114,男,20,网络工程,2015,潘氏集团);a1.Display();System.out.println(n);Students a2 = new Students(201801144,潘,8,计算机,201509,潘氏集团);a2.Display();2计数器类使用单例模式实现一个计数器类,满足以下要求:(1)编写add()方法,使计数器的值加1。(2)编写sub()方法,使计数器的值减1。(2)编写reset()方法,实现重置计数器的功能。(3)编写disp()方法,输出计数器的值。(4)对计数器类进行两次以上的实例化,并分别进行计数以及输出。public class LoginDemo public static void main(String args) 源代码:package ceshi1;import java.util.ArrayList;import java.util.LinkedList;public class Students private static Students instance;private int count=0;private void add() this.count+;public void sub()this.count-;public void reset()this.count=0;public void disp()System.out.println(count= +this.count);public static Students getStudents()if(instance = null)instance = new Students();return instance;public static void main(String args) / TODO 自动生成的方法存根Students a1= new Students().getStudents();Students a2= new Students().getStudents();Students a3= new Students().getStudents();System.out.print(计数器加1两次:);a1.add();a2.add();a3.disp();System.out.print(计数器减1一次:);a1.sub();a3.disp();System.out.print(计数器重置为零:);a1.reset();a3.disp();3用户基类及子类(1)创建用户基类CommonUser属性:l 用户ID:userIDl 用户名:userNamel 电话:phoneNuml 电子邮件:emaill 身份证:idCardNol 登录密码:loginPWD方法:l dispInfo()(2)创建基金经理子类Manager,继承CommonUser,增加以下属性和方法属性:l 账户余额: balancel 交易密码: transPWDl 所持基金: holdMoneyFunds方法:l dispInfo()(3)创建顾客子类Customer,继承CommonUser,增加以下属性和方法属性:l 公司:company方法:l dispInfo()public class LoginDemo public static void main(String args) 源代码:package ceshi1;import java.util.ArrayList;import java.util.LinkedList;public class CommonUser String userID;String userName;String phoneNum;String email;String idCardNo;String loginPWD;public CommonUser(String userID,String userName,String phoneNum,String email,String idCardNo,String loginPWD)this.userID=userID;this.userName=userName;this.phoneNum=phoneNum;this.email=email;this.idCardNo=idCardNo;this.loginPWD=loginPWD;public void dispInfo()System.out.println(用户ID:+ this.userID);System.out.println(用户名:+ this.userName);System.out.println(电话:+ this.phoneNum);System.out.println(电子邮件:+ this.email);System.out.println(身份证:+ this.idCardNo);System.out.println(登录密码:+ this.loginPWD);public static void main(String args) / TODO 自动生成的方法存根Manager a = new Manager(201801, 潘氏集团, 0123456789, 2018, 20180140180114, pwd201801, 1000000.0, pwd2018, 2000000.0);a.dispInfo();Customer a1 = new Customer(201712, Java, 9876543210, 2017, 201712201712, Java201712, FJUT);a1.dispInfo();class Manager extends CommonUserdouble balance;String transPWD;double holdMoneyFunds;public Manager(String userID,String userName,String phoneNum, String email, String idCardNo, String loginPWD,double balance, String transPWD, double holdMoneyFunds)super(userID, userName, phoneNum, email, idCardNo, loginPWD);this.balance = balance;this.transPWD = transPWD;this.holdMoneyFunds = holdMoneyFunds;public void dispInfo()super.dispInfo();System.out.println(账户余额:+this.balance);System.out.println(交易密码:+this.transPWD);System.out.println(所持基金:+this.holdMoneyFunds);class Customer extends CommonUserString company;public Customer(String userID, String

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论