我们神码小组第一次合作完成的java项目——类的多态继承与接口的使用练习。
我们的主要任务分配:
Person(父类)(抽象类)--晶晶负责
-name String;
-age int;
-gender String;
+walk();void
+eat();void
+think();void
+laugh();void
+hobby();void
+getName() String
Person(String name ,int age,String gender,...)
Students(子类1 extends Person)--王昊负责
-id int
-number int
+learn();
+love();
+getId() int
+laugh();void
+Students(id,number,.....)
Employee(子类2 就职者)--聪丛负责
-company String
-specialTechnical String
-professional String
-position String
-ageWork int
-levelCet int;
+showoff();void
+working();void
+cooperation();void
+getPosition() String
+specialAbility(); String
Software_developers(开发员,extends子类2)--乐乐负责
-think_coding String
-ability_development String
+getName() String;
+getAge() int
+getPosition() String
+coding() void
+working(Sd_working);
Software_test(测试人员,extends子类2)--游腾负责
-think_testing String
-ability_testing String
+testing() void
+getPosition() String
+getName() String;
+getAge() int;
+Software_test(think_testing,ability_testing)
Cook(厨师,extends 子类2)--张陆负责
-cooking(厨艺)String;
+cook(做饭) String ;
-position String
-ageWork int
+think();void
+laugh();void
+hobby();void
+eat();void
+getName() String;
+getGender() String;
+Cook(cooking);
Interface( 接口) code()--王超负责
+ability_it() String
+specialLove() String
+reading_code();String
Main()--王超负责
主要代码如下:
1.
package GodCoding1.PersonTest;
public interface Code {
public void ability_it();
public void specialLove();
}
2.
package GodCoding1.PersonTest;
public class Cook extends Employee
{
private String cooking;
public Cook(String myCooking,String myCompany,String mySpecialTechnical, String myPosition,String myName, int myAge, String myGender){
super(myCompany,mySpecialTechnical,myPosition,myName, myAge, myGender);//调用父类构造函数
cooking=myCooking;
}
//重写分类方法
public String getName(){
return super.getName();
}
public void think() {
System.out.println("做最好吃的饭"+this.cooking+"好吃");
}
public void learn() {
System.out.println("我要学习老醋花生");
}
}
3.
package GodCoding1.PersonTest;
public class Employee extends Person {//继承父类的子类
public String company;//定义的属性
public String specialTechnical;
public String position;
public Employee(String myCompany,String mySpecialTechnical, String myPosition,String myName,int myAge,String myGender){
super(myName,myAge,myGender);//调用父类的属性
company=myCompany;
specialTechnical=mySpecialTechnical;
position=myPosition;
}
public String getName(){
return super.getName();
}
public void think(){
System.out.println("在工作中追求完美");
}
public void working(){
System.out.println("我是一个职员,我可以工作");
}
}
4.
package GodCoding1.PersonTest;
public abstract class Person {
private String name; //成员变量
private int age;
private String gender;
public Person(String myName, int myAge, String myGender){
name=myName;
age=myAge;
gender=myGender;
}
// 获取名字
public String getName(){
return this.name;
}
// 获取年龄
public int getAge(){
return this.age;
}
// 获取性别
public String Gender(){
return this.gender;
}
// 以下成员方法在子类调用可以不用重写
public void walk(){
// 成员方法
System.out.println("小碎步踏起来");
}
public void eat(){
System.out.println("吃点啥");
}
public void think(){
System.out.println("可以思考问题");
}
public void laugh(){
System.out.println("哈哈,这群低等人群");
}
public void say(String thing){
System.out.println(thing);
}
}
5.
package GodCoding1.PersonTest;
public class Person_main {
public static void main(String[] args){
//1 实例化3个学生
Students Anivia=new Students(2015001,"让我们展翅翱翔","艾尼维亚",20,"女");
Students Ez=new Students(2015003,"是时候表演真正的技术了","伊泽瑞尔",16,"男");
Students Lrelia=new Students(201505,"不灭的是意志","艾瑞利娅",18,"女");
//1. 实例化3个职业人士
Software_developers Em1=new Software_developers("创造性的","腾讯","软件开发","游戏软件工程师","1号",30,"男");
Software_test Em2=new Software_test("破坏性的","惠普","软件测试","软件架构师","2号",23,"女");
Cook Em3=new Cook("创造性的","麦肯基","制作美食","高级厨师","3号",32,"男");
//场景开幕
System.out.println("欢迎来到《求职现场》,我是主持人小七,首先欢迎我们这期的求职嘉宾!");
System.out.println("************掌声**********");
Anivia.say("大家好,我叫"+Anivia.getName()+Anivia.getAge()+"岁"+"\n爱好广泛,最爱打游戏,聊天,具备一定的编程类能力,座右铭为:"+Anivia.getSpecialMotto());
Ez.say("大家好,我叫"+Ez.getName()+Ez.getAge()+"岁"+"\n崇尚技术,精通多种编程语言 座右铭为:"+Ez.getSpecialMotto());
Lrelia.say("大家好,我叫"+Lrelia.getName()+Lrelia.getAge()+"岁"+"\n我会吃,只会打酱油! 座右铭为:"+Lrelia.getSpecialMotto());
System.out.println("我们有幸邀请到了到了知名公司的相关人员,有请!");
System.out.println("**********掌声*************");
Em1.say("各位朋友们大家好,我叫"+Em1.getName()+" 来自"+Em1.company+" 我的职业是"+Em1.position);
Em1.ability_it();
Em1.specialLove();
System.out.println("---------");
Em2.say("\n各位朋友们大家好,我叫"+Em2.getName()+" 来自"+Em2.company+" 我的职业是"+Em2.position);
Em2.ability_it();
Em2.specialLove();
System.out.println("----------");
Em2.say("各位朋友们大家好,我叫"+Em1.getName()+" 来自"+Em1.company+" 我的职业是"+Em1.position+"\n懂的吃,爱吃的都过来+++++");
//学生选择职业阶段
System.out .println("************掌声*******\n选择决定人生,好好选择吧,幸运的人类");
System.out .println(" **************** ");
System.out .println(" *********** ");
System.out .println(" **** ");
Anivia.say("我能同时选择两家公司吗?");
System.out.println("-----一致赞成--------");//妹子的特权果然大
Ez.say("\n帅帅的我,身边怎么可以没有妹子 "+Em2.getName()+" 我来了\n 额,姐姐也可以");
System.out.println("------说好的技术那------");
Lrelia.say("\n额,妹妹我只会吃,也会打酱油,我可以为"+Em3.getName()+"大叔的公司打酱油吗?");
System.out.println("--------酱油妹妹-------");
//结束
System.out.println("\n谢谢观看,无厘头职业选择");// 我都不知道我在想什么?
}
}
6.
package GodCoding1.PersonTest;
public class Software_developers extends Employee implements Code {
private String think_coding;
public Software_developers(String myThink_coding,String myCompany,String mySpecialTechnical, String myPosition,
String myName, int myAge,String myGender){
super(myCompany, mySpecialTechnical, myPosition,myName,myAge,myGender);
think_coding = myThink_coding;}
public String getName() {
return super.getName();
}
public void ability_it() {
System.out.println( "我会设计开发代码!精通多国语言,从事IT多年,有钱有房。。,有人生,选择我们把");
}
public void specialLove() {
System.out.println("喜欢研究代码的编写方法!喜欢那些喜爱编程,热爱IT技术。热爱学习的人,相信我们可以带给你们不一样的人生!");
}
public void reading_code() {
System.out.println("我喜欢读与代码相关的的书籍");
}
}
7.
package GodCoding1.PersonTest;
public class Software_test extends Employee implements Code{
//创建类Software_test继承父类 Employee并引用接口code。
private String thinking_Test;//好的测试思维。。
//构造函数
public Software_test (String mythink_test,
String myCompany,String mySpecialTechnical, String myPosition,
String myName, int myAge,String myGender){
super(myCompany, mySpecialTechnical, myPosition,myName,myAge,myGender);//调用父类中的构造函数。
thinking_Test=mythink_test;
//给子类中的特有属性ThinTest和Testability分别赋变量值mythink_test和myability_test。
}//构造函数完成
//重写父类中的方法
public int getAge(){
return super.getAge();
}
public String getName(){
return super.getName();
}
//实现接口code的ability_it方法
public void ability_it() {
System.out.println("我精通软件测试流程。有多年的测试经验,来我们公司吧,姐姐带你们哟!");
}
//实现接口code的specialLove方法
public void specialLove(){
System.out.println("我爱看软件测试类的书籍。当然还有《霸道总裁爱上我。。》,额,扯远了。总之,来我们公司就对了,么么哒!");
//实现接口code的reading_code方法
}
}
8.
package GodCoding1.PersonTest;
public class Students extends Person{
private int id;
private String Specialmotto
;
public Students(int myId,String mySpecialMotto,String myName,int myAge,String myGender){
super(myName,myAge,myGender);
id=myId;
Specialmotto=mySpecialMotto;
}
public String getSpecialMotto(){
return this.Specialmotto;
}
public void learn(){
System.out.println();
}
public void love(){
System.out.println("早恋也是爱!");
}
public void think(){
System.out.println("我的梦想是");
}
}
通过这次的合作实验,不仅让我们更加深刻的认识到了利用java开发的设计流程,以及在编写程序时的一些注意事项,与此同时更好的学习了面向对象对于类的继承多态与封装和接口的使用这一块的内容,同时也使得我们团队之间的相互合作能力得以很大的提高,所以说通过此次实验使得我们受益匪浅。
我们神码小组第一次合作完成的java项目——类的多态继承与接口的使用练习。相关推荐
- 编辑从字节码和 JVM 的角度解析 Java 核心类 String 的不可变特性
1. 前言 最近看到几个有趣的关于Java核心类String的问题. String类是如何实现其不可变的特性的,设计成不可变的好处在哪里. 为什么不推荐使用+号的方式去形成新的字符串,推荐使用Stri ...
- 码云上比较好的java项目
2017 年度码云热门项目排行榜 TOP 50 出炉啦!我们根据所有开源项目在码云的用户关注度.活跃度.访问量等信息来对"热门"进行量化,从而筛选出了其中最"热门&quo ...
- java常用类介绍及源码阅读(ArrayList)
java.util 类 ArrayList<E> 继承关系: java.lang.Objectjava.util.AbstractCollection<E>java.util ...
- 神码ai人工智能写作机器人_神经符号AI为我们提供具有真正常识的机器
神码ai人工智能写作机器人 By Katia Moskvitch 卡蒂亚·莫斯科维奇(Katia Moskvitch) "那只狗躲在床底下. 再次." ("The dog ...
- 【原创意】新浪微博都感到巨大鸭梨的全新创意 —— 二维码社区神码
前言 -------------------------------------------- 前不久听说百度和阿里投资了新浪微博一个亿(谣言?),嗨,看来又要打水漂了.小李和小马(又:啊宏与啊云), ...
- 神码ai人工智能写作机器人_AI启动协变量AI为机器人构建通用AI
神码ai人工智能写作机器人 One could be excused for confusing the Investor's list on the Covariant.ai website wit ...
- 神码ai人工智能写作机器人_从云到设备到边缘的人工智能和机器学习的未来
神码ai人工智能写作机器人 A brief overview of the state-of-the-art in training ML models on devices. For a more ...
- 快速排序 - 算神码男人系列
Hi,我是哈缺氧.今天带给大家的是算神码男人系列快速排序. 思路很简单,如图所示. 根据这个思路,第一次,我写出了如下代码. private static void qsort(int[] arr, ...
- 神码ai人工智能写作机器人_人工智能和机器学习的最佳资源
神码ai人工智能写作机器人 机器学习指南 (MACHINE LEARNING GUIDE) Half of this crazy year is behind us and summer is her ...
最新文章
- 纷纷布局的全光网,是你所熟知的吗?
- Oracle 存储过程中查询序列值并用变量接收
- AlertDialog的使用(二):分别创建
- Error APICloud iOS null is not an object
- 【Redis】Linux下Redis安装与redis-desktop-manager使用(无法连接Redis服务器解决方法)...
- 格式说明_现代诗歌的写作格式是什么,能否举例说明?
- c++ 4.变量名规则
- 使用Google Guice消除实例之间的歧义
- 如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL
- ubuntu创建php文件,ubuntu系统创建桌面快捷方式的方法
- 开源字体不香吗?五款 GitHub 上的爆红字体任君选
- 有限域f9的特征是多少_第四章有限域1.ppt
- 可做fft分析吗_2020速卖通还要做吗?速卖通2020年市场分析!
- 真正开源erp,良心团队。点可云ERP
- ipad2 白苹果惊魂
- C++标准委员会7月科隆会议中投票通过的特性
- Mirillis Action! v4.17.0 高清游戏视频录制软件
- python定时器启动多次_python 定时器
- 旋转框目标检测————关于旋转框定义和解决方案
- 定义一个描述学生通讯录的类AddressBook并输出