Java实验项目三——编程实现Person类,学生类的设计及其继承关系
Program:
编程实现Person类,学生类的设计及其继承关系
代码如下:
定义抽象类Person
1 /*
2 * Description:建立抽象类
3 *
4 * Written By:Cai
5 *
6 * Date Written:2017-10-17
7 *
8 * */
9
10
11 package resource;
12
13 public abstract class Person {
14
15 private String name; //姓名
16 private int age; //年龄
17 private String sex; //性别
18 private String address; //地址
19 private String telephone; //电话
20
21 //定义构造方法
22
23 public Person() {}
24
25 public Person(String name, int age, String sex, String address,
26 String telephone) {
27
28 this.name = name;
29 this.age = age;
30 this.sex = sex;
31 this.address = address;
32 this.telephone = telephone;
33 }
34
35 //定义setter()和getter()方法
36
37 public String getName() {
38 return name;
39 }
40
41 public void setName(String name) {
42 this.name = name;
43 }
44
45 public int getAge() {
46 return age;
47 }
48
49 public void setAge(int age) {
50 this.age = age;
51 }
52
53 public String getSex() {
54 return sex;
55 }
56
57 public void setSex(String sex) {
58 this.sex = sex;
59 }
60
61 public String getAddress() {
62 return address;
63 }
64
65 public void setAddress(String address) {
66 this.address = address;
67 }
68
69 public String getTelephone() {
70 return telephone;
71 }
72
73 public void setTelephone(String telephone) {
74 this.telephone = telephone;
75 }
76
77 //覆写toString()方法
78 @Override
79 public String toString() {
80 return "Person [name=" + name + ", age=" + age + ", sex=" + sex
81 + ", address=" + address + ", telephone=" + telephone + "]";
82 }
83
84 //使用模板模式,定义好简单模板,打印信息
85 /*
86 * 模板模式为面向对象设计模式之一,其大概思想(个人理解):
87 * 在抽象方法中完成已经确定的内容,而不确定的部分,写成抽象方法并调用
88 * 而抽象方法的具体实现,交给继承他的类去具体实现,
89 * 这样开发人员只要写好自己的实现部分便可,然后在主方法中,
90 * 通过实例化后的抽象类直接调用模板方法便可
91 *
92 * 以下方法只是一个简单的表示
93 *
94 * */
95 public void display() {
96
97 System.out.println( this ); //公共部分
98 System.out.println("-------------------风骚java分割线-----------------");
99 getInfo(); //开发人员具体的实现
100 System.out.println("-------------------风骚java分割线-----------------");
101 System.out.println( "本输出方法采用模板设计模式,以上为学生信息!" ); //公共部分
102
103 }
104
105 //声明抽象方法,打印子类的添加信息
106 public abstract void getInfo();
107
108
109 }
定义Student类,继承抽象类
1 /*
2 * Description:定义学生类,继承Person方法
3 *
4 * Written By:Cai
5 *
6 * Date Written:2017-10-17
7 *
8 * */
9
10
11 package resource;
12
13 public class Student extends Person {
14
15 private String sno; //学号
16 private String className; //班级
17
18 //定义构造方法
19 public Student(String name, int age, String sex, String address,
20 String telephone,String sno,String className) {
21
22 super(name,age,sex,address,telephone);
23 this.sno = sno;
24 this.className = className;
25 }
26
27
28 //定义setter()和getter()方法
29 public String getSno() {
30 return sno;
31 }
32
33 public void setSno(String sno) {
34 this.sno = sno;
35 }
36
37 public String getClassName() {
38 return className;
39 }
40
41 public void setClassName(String className) {
42 this.className = className;
43 }
44
45
46 //实现父类抽象方法
47 @Override
48 public void getInfo() {
49
50 System.out.println( "学号:" + this.getSno() + "\t班级:" + this.getClassName() );
51 }
52
53 }
Java实验项目三——编程实现Person类,学生类的设计及其继承关系的更多相关文章
- Java实验项目三——职工类对象数组按照职工生日排序
Program: 修改项目三(1)中的第3题,实现比较方法,将对象数组的数据按照生日的大小给职工排序. Description:令日期类MyDate和员工类Worker类实现接口Comparable, ...
- Java实验项目三——宠物商店
Program:宠物商店的设计(继承,接口,线性线性表) Description:本题未实现图形用户界面,项目结构描述如下: classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠 ...
- Java实验项目三——面向对象定义职工类和日期类
Program:按照如下要求设计类: (1)设计一个日期类,用于记录年.月.日,并提供对日期处理的常用方法. (2)设计一个职工类,该职工类至少具有下面的属性:职工号,姓名,性别,生日,工作部门,参加 ...
- Java实验项目三——平面图形和立体图形抽象类
Program:按照下面要求完成类的设计 (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性. (2)修改项目三中第2题中所设计的球类.圆柱类,圆锥类.矩形类.三角形类.圆 ...
- Java实验项目三——简单工厂模式
Program: 请采用采用简单工厂设计模式,为某个汽车销售店设计汽车销售系统,接口car至少有方法print(), 三个汽车类:宝马.奥迪.大众 (属性:品牌,价格),在测试类中根据客户要求购买的汽 ...
- Java实验项目三——采用面向对象的方式设计线性表
Program: 采用面向对象的方法设计一个线性表,目的是为其他需要用线性表的应用提供线性表对象. 1.list包中,定义线性表类 1 /* 2 * Description:定义线性表类 3 * 4 ...
- Java实验项目三——递归实现字符串查找和替换操作
Program:按照下面要求实现字符串的操作: (1)设计一个提供下面字符串操作的类 1)编写一个方法,查找在一个字符串中指定字符串出现的次数. 2)编写一个方法,参数(母字符串,目标字符串,替换字符 ...
- 20135231 JAVA实验报告三:敏捷开发与XP实践
---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...
- 20165324 Java实验五 网络编程与安全
20165324 Java实验五 网络编程与安全 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年5月28日 实 ...
随机推荐
- Linux中级之lvs三个模式的图像补充(nat,dr,tun)
负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. (1)单台计算机无法承受大规 ...
- centos 7编译32位软件的问题
centos 7默认安装的gcc 为64位,所以在编译32位软件时需要用到32位的gcc库,于是可以增加glibc 32位库: sudo yum -y install glibc-bevel.i386
- 【遥感数字图像处理实验】Erdas版详细图文实验教程(8实验全)
@ 目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 遥感数字图像的处理,是对遥感数字图像的计算机处理.与工业和医学数字图像不同,遥感数字图像类型更为多样,内容更为复杂.因此,遥感 ...
- 重新整理 .net core 实践篇————配置系统——军令(命令行)[六]
前言 前文已经基本写了一下配置文件系统的一些基本原理.本文介绍一下命令行导入配置系统. 正文 要使用的话,引入Microsoft.extensions.Configuration.commandLin ...
- 最适合新手的Redis Cluster搭建过程
好记性不如烂笔头,记录分片高可用Redis Cluster的搭建过程 Redis集群演进过程 Redis单节点 主从复制: 复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复. 故 ...
- [Windows] 将中文输入法热键改回Ctrl+Space
造冰箱的大熊猫@cnblogs 2021/6/6 之前因为Code Composer Studio的缘故将Windows XP上的中英文切换热键从Ctrl+Space改为了Ctrl+Shift+Spa ...
- rman备份出现ORA-19625
[oracle@hear adump]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Mon Jun 17 0 ...
- GPU上如何优化卷积
GPU上如何优化卷积 本文将演示如何在TVM中编写高性能卷积实现.我们以平方大小的输入张量和滤波器为例,假设卷积的输入是大批量的.在本例中,使用不同的布局来存储数据,以实现更好的数据局部性.缓冲区布局 ...
- 运用iGuard防御ADS权限维持
权限维持是一门庞大的学问,当攻击者在入侵服务器获得主机权限后,往往会想尽办法隐藏其入侵途径以维持权限.权限维持的一般手段包括构造文件包含漏洞.构造远程任意代码执行漏洞.构造SQL注入点.利用系统自启动 ...
- fiddler概念及原理
一.什么是fiddler? fiddler是位于客户端与服务器端的HTTP代理,它能够记录客户端与服务器之间所有的HTTP请求,可以针对特定的HTTP请求,分析请求数据,设置断点,调试WEB应用,修改 ...