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日 实 ...
随机推荐
- vue 表格中的下拉框单选、多选处理
最近在用vue做前后端分离,需要在表格中用到下拉框,由于需求变动,从最开始的单选变为多选,折腾了许久,记录一下,供后人铺路 vue 中的表格下拉框单选 collectionsColnumOptions ...
- x轴滚动
#region 设置x轴滚动 XYDiagram diagram = (XYDiagram)chartRoomUserAnalysisHis.Diagram; diagram.Ax ...
- JavaSE-QuickStart
老话常说:基础不牢地动山摇,于是我在b站上看杨中科老师的课程脑补一下,便记录这岁月的点滴 1.什么是编程 ? 编程:编写能够控制计算机来执行特定任务的代码. 2.什么是编程语言 ? 编程语言:是指程序 ...
- 27.Qt Quick QML-State、Transition
1.State所有组件均具有默认状态,该状态定义对象和属性值的默认配置.可以通过向States属性添加State组件来定义新状态,以允许组件在不同配置之间切换.许多用户界面设计都是由State状态实现 ...
- Volatile 原理及使用,java并发中的可见性问题
1.解决并发编程中的可见性问题 volatile 代表不使用cpu缓存,修改后的数据,将直接刷到内存中,被volatile修饰的变量,读取的时候,也是从内存中读取,不从cpu缓存中读取 上代码 // ...
- 将代码生成器带入TVM
将代码生成器带入TVM 为了使数据科学家不必担心开发新模型时的性能,硬件后端提供程序(例如Intel,NVIDIA,ARM等)可以提供诸如cuBLAS或cuDNN之类的内核库以及许多常用的深度学习内核 ...
- VB 老旧版本维护系列---有点懵逼的webserver访问
有点懵逼的webserver访问 '定义webserver地址 Dim postUrl As String = "" '定义webserver所需xml字符串参数 Dim xmlR ...
- python+selenium基础篇,网页截图
代码如下: from selenium import webdriver dr=webdriver.Firefox() dr.get("https://www.baidu.com" ...
- python_pycham,连接数据库,执行sql
本地搭建的mysql的新建的表的数据如下: 在pycham中连接mysql 执行sql ,举例编写如下: import pymysql if __name__ == '__main__': conn ...
- servlet、过滤器、监听器、拦截器之间的关系和区别
一.概念 1.什么是servlet servlet是一个接口.定义了一套处理网络请求的规范,所有实现servlet的类,都需要实现它那五个方法,其中最主要的是两个生命周期方法 init()和destr ...