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日 实 ...
随机推荐
- 用navigation的大致图
- 排查利器:Tcpdump抓包 & Wireshark解析
在工作这一块,免不了和其他开发人员打交道.比如,和其他部门 or 公司联调,甚至是和自己部门的人联调的时候.这时候,对接问题就很容易暴露出来,特别是Tcp/Udp会话的时候,很容易就会呈现出公说公有理 ...
- NBU Rman异机恢复Oracle
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...
- Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容
F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city ...
- MLIR中间表示和编译器框架
MLIR中间表示和编译器框架 TensorFlow生态系统包含许多在软件和硬件堆栈的多个级别上运行的编译器和优化器.作为TensorFlow的日常用户,使用不同类型的硬件(GPU,TPU,移动设备)时 ...
- NVIDIA FFmpeg 转码技术分析
NVIDIA FFmpeg 转码技术分析 所有从 Kepler 一代开始的 NVIDIA GPUs 都支持完全加速的硬件视频编码,而从费米一代开始的所有 GPUs 都支持完全加速的硬件视频解码.截至 ...
- fiddler选项卡-Filters(过滤)
Filter filter的意思是过滤,在fiddler中,它可以用来过滤请求,使得session列表能够更加精准的展现抓到的数据流,而不是杂乱的一堆. 1.filter的界面 2.界面详解 1.Us ...
- Spring Boot WebFlux-01——WebFlux 快速入门实践
第01课:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ...
- 身为一枚优秀的程序员必备的基于Redis的分布式锁和Redlock算法
1 前言 今天开始来和大家一起学习一下Redis实际应用篇,会写几个Redis的常见应用. 在我看来Redis最为典型的应用就是作为分布式缓存系统,其他的一些应用本质上并不是杀手锏功能,是基于Redi ...
- 【题解】覆盖问题 BZOJ1052 HAOI2007 二分
题目描述 某 人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定用 3个LL的正方形塑料薄膜将小树遮起来.我 ...