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日 实 ...
随机推荐
- 6.1 tar:打包备份
tar命令 在Linux系统里,tar是将多个文件打包在一起,并且可以实现解压打包的文件的命令.是系统管理员最常用的命令之一,tar命令不但可以实现对多个文件进行打包,还可以对多个文件打包后进 ...
- 9.4-6 kill & killall & pkill
kill:终止进程 能够终止你希望停止的进程. kill 命令的参数选项及说明 -l 列出全部的信号名称 -p 指定kill命令只打印相关进程的进程号,而不发送任何信号 -s 指定要 ...
- stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解
[转载]2017年12月4日14:48:29 先描述下这几天碰到的一个奇怪的问题: 一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为 ...
- MYSQL导入/迁移后事件不执行
mysql迁移后事件不执行 查看数据库是否开启事件支持 mysql> show variables like 'event_scheduler'; +-----------------+---- ...
- java IO教程《三》
缓冲区流讲解(Buffered) 什么是缓冲区? 缓冲流,也叫高效流,是对4个基本的File流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,Buffe ...
- ELK搭建-windows
一.E 二.L 启动 三.K 四.filebeat 五.配置文件使用 1.logstash-sample.conf # Sample Logstash configuration for creati ...
- GO语言的JSON02---反序列化
package main import ( "encoding/json" "fmt" ) type Human struct { Name string Ag ...
- Go string 详解
前言 字符串(string) 作为 go 语言的基本数据类型,在开发中必不可少,我们务必深入学习一下,做到一清二楚. 本文假设读者已经知道切片(slice)的使用,如不了解,可阅读 Go 切片 基本知 ...
- 噪声标签的负训练:ICCV2019论文解析
噪声标签的负训练:ICCV2019论文解析 NLNL: Negative Learning for Noisy Labels 论文链接: http://openaccess.thecvf.com/co ...
- pytest的allure的环境配置
一.下载地址: https://github.com/allure-framework/allure2/releases 二.配置环境变量: 三.验证allure安装成功