当前位置: 首页 > news >正文

Problem B: 面向对象综合题2

1.题目描述

要求如下:
1.定义一个抽象的"Role"类,有姓名、年龄、性别等成员变量。要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有) 。具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。
2. 从Role类派生出一个"Employee"类 该类具有Role类的所有成员,并扩展 salary成员变量,同时增加一个静态成员变量职工编号"id"。同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play()方法,并提供一个final sing()方法。 
3. "Manager"类继承"Employee"类,有一个final成员变量"vehicle" 。

4. 在Main类中产生Manager和Employee对象,并测试这些对象的方法。

代码如下:

class Employee extends Role1
{
    protected int id;
    protected int salary;
    public Employee(){}
    public Employee(String name,int age,String sex,int id,int salary)
// 你的代码将被嵌入这里

class Main{
    public static void main(String[] dsa)
    {
         Employee e=new Employee("you xiao",20,"Man",1201012204,15000);
         Manager m=new Manager();
         System.out.println(e.id);
         System.out.println(e.salary);
         System.out.println(e.name);
         System.out.println(e.age);
         System.out.println(e.sex);
         System.out.println(m.vehicle);
         m.play();
         m.sing();
    }
}

2.输出描述

1201012204
15000
you xiao
20
Man
Lamborghini
i can paly
i can sing

 3.代码实现

吐槽:恶心

1.提交的代码

{super(name, age, sex);this.id = id;this.salary = salary;}@Overridepublic void play() {System.out.println("i can paly");}public final void sing() {System.out.println("i can sing");}
}class Manager extends Employee {final String vehicle;public Manager() {this.vehicle = "Lamborghini";}
}
abstract class Role1 {protected String name;protected int age;protected String sex;public Role1() {}public Role1(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}public abstract void play();
}

2.完整代码

abstract class Role1 {protected String name;protected int age;protected String sex;public Role1() {}public Role1(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}public abstract void play();
}class Employee extends Role1 {protected int id;protected int salary;public Employee() {}public Employee(String name, int age, String sex, int id, int salary) {super(name, age, sex);this.id = id;this.salary = salary;}@Overridepublic void play() {System.out.println("i can paly");}public final void sing() {System.out.println("i can sing");}
}class Manager extends Employee {final String vehicle;public Manager() {this.vehicle = "Lamborghini";}
}class Main {public static void main(String[] dsa) {Employee e = new Employee("you xiao", 20, "Man", 1201012204, 15000);Manager m = new Manager();System.out.println(e.id);System.out.println(e.salary);System.out.println(e.name);System.out.println(e.age);System.out.println(e.sex);System.out.println(m.vehicle);m.play();m.sing();}
}

相关文章:

  • LLM框架
  • 【Diffusion】在华为云ModelArts上运行MindSpore扩散模型教程
  • 基于SpringBoot的抽奖系统测试报告
  • 11、参数化三维产品设计组件 - /设计与仿真组件/parametric-3d-product-design
  • Linux-TCP套接字编程简易实践:实现EchoServer与远程命令执行及自定义协议(反)序列化
  • 基于物联网的智能家居监控系统设计和实现(源码+论文+部署讲解等)
  • OpenWrt开发第8篇:树莓派开发板做无线接入点
  • 计算机网络笔记(二十一)——4.3IP层转发分组的过程
  • 小土堆pytorch--torchvision中的数据集的使用dataloader的使用
  • 在python中,为什么要引入事件循环这个概念?
  • 第二十三节:图像金字塔- 图像金字塔应用 (图像融合)
  • 封装和分用(网络原理)
  • 【常用算法:排序篇】4.高效堆排序:线性建堆法与蚂蚁问题的降维打击
  • Kafka的基本概念和Dokcer中部署Kafka
  • B 端电商数据接口开发:1688 商品详情页实时数据抓取技术解析
  • 组合模式(Composite Pattern)详解
  • Docker拉取ubuntu22.04镜像使用ROS2 humble及仿真工具可视化进行导航
  • [案例四] 智能填写属性工具(支持装配组件还有建模实体属性的批量创建、编辑)
  • NoSQL数据库技术与应用复习总结【看到最后】
  • MySQL为什么选择B+树
  • 复旦大学与上海杨浦共建市东医院
  • 广州地铁十一号线赤沙车辆段工程高坠事故调查报告公布:1人重伤且漏报
  • 北洋“修约外交”的台前幕后——民国条约研究会档案探研
  • 金科股份重整方案通过,正式进入重整计划执行环节
  • 三大股份制银行入局AIC,一级市场再迎“活水”
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空