-----------------------
android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
假如我们在开发系统时需要对员工进行建模,员工包含3个属性:姓名,工号,工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性,请使用继承的思想设计出员工类和经理类,要求类中提供必要的方法进行属性访问。
思路:
员工类:name id salary
经理类:继承了员工,并有自己特有的奖金(bonus)属性
员工分为普通员工和经理,那么员工和经理做从事的工作即做的工作不一样,但是他们都得为公司工作。所以产生了一个工作方法,那么普通员工和经理都需要有工作这个方法。
下面实现代码中分别给出了步骤,即每一步该做什么,一共是8个步骤加上注释中的思考。
//(1)定义员工类属性
class Employee
{
private String name;
private String id;
private double salary;
//(2)给员工类属性初始化
Employee(String name,String id,double salary)
{
this.name = name;
this.id = id;
this.salary = salary;
}
//(5)此时思考问题:员工和经理都需要工作,但是他们做的事情是否一致呢?
//1.普通员工和经理做的事情是有区别的,经理不是普通员工中的一种,
//2.员工分为普通员工和经理,
//3.这是对事物描述不具体,即是抽象的
public abstract void work();
}
//(7)思考:如果对员工进行细分,可以分解出一个普通员工
//所以定义一个普通员工类继承员工类
class CommonPerson extends Employee
{
CommonPerson(String name,String id,double salary)
{
super(name,id,salary);
}
//(8)因为普通员工也是公司中的一员,他也要工作,所以必须覆盖掉work()方法
public void work()
{
System.out.println("commonperson work!");
}
}
//(3)定义经理类
class Manager extends Employee
{
private int bonus;
//(4)给员工类属性初始化
Manager(String name,String id,double salary,int bonus);
{
super(name,id,salary);//继承了父类Employee
this.bonus = bonus;
}
//(6)因为经理也是公司中的一员,他也要工作,所以必须覆盖掉work()方法
public void work()
{
System.out.println("manager work!");
}
}
class
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
-----------------------
android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
分享到:
相关推荐
这些练习题覆盖了学习迁移的基本概念、分类、影响因素及理论观点,旨在帮助学习者理解和掌握如何有效利用已有知识进行新知识的习得。通过解答这些问题,可以深化对学习迁移的理解,提高教学和自我学习的策略。
以上是对Java继承和多态基础知识的解释,以及根据给定练习题中的问题进行的解答。这些概念对于理解和编写高效、可维护的Java代码至关重要。通过不断地实践和学习,开发者可以更好地掌握这些概念并应用到实际项目中。
以下是关于Java编程基础、面向对象和常用类API知识的练习题资源介绍,旨在帮助您巩固知识、提高编程能力。 目录概览: Java编程基础: 变量与数据类型 运算符与表达式 控制流程(条件语句、循环语句) 方法与函数 ...
"Java练习题1-9章"涵盖了从入门到进阶的关键知识点,旨在帮助学习者巩固和提升Java编程技能。下面将对这些章节涉及的主要知识点进行详细的阐述。 1. **第一章:Java简介** - Java的历史和应用领域 - Java的特性:...
谭浩强的习题中可能会包含这些基础知识的练习题目,帮助读者建立坚实的语法基础。 2. **函数**:C++的函数是代码组织的基本单元,用于实现特定功能。习题中可能涉及函数的定义、调用、参数传递以及返回值。理解函数...
这份"C#基础练习题"资源旨在帮助学习者通过实践巩固C#的基础知识,从而提升编程技能。以下是对这些练习题所涵盖的知识点的详细说明: 1. **基本语法与数据类型**:练习题可能会涉及C#中的基本数据类型,如整型(int,...
这个名为"一堆JAVA练习题的答案-SL275-学习的时候可能会用到.rar"的压缩包,显然是为Java初学者或正在学习者提供的一系列练习题的解答,旨在帮助他们巩固和深化对Java编程的理解。 在Java的学习过程中,实践是提升...
这本书的练习题是学习Java的重要组成部分,因为它们能够帮助读者巩固理论知识并提升实践能力。以下是对"Thinking in Java 4Edition 练习题答案"的一些关键知识点的详细解释: 1. **基础语法**:在书中,读者会遇到...
在学习Java的过程中,通过练习题是巩固基础知识、提升编程能力的有效途径。本资料集合了多位资深教师精心挑选的经典Java练习题,旨在帮助初学者深入理解和熟练运用Java的核心概念。 1. **基础语法**: - 数据类型...
这类资源对于初学者来说非常重要,因为它不仅可以巩固课堂上学到的知识,还能通过解决实际问题来加深对抽象概念的理解。 4. **代数结构**:代数结构包括群、环、域等。群是由一个集合和一个二元运算组成的结构,...
总的来说,这个"Java基本上机练习题"包为初学者提供了一个全面的学习路径,覆盖了Java编程的基础到进阶知识。通过解决这些练习题,不仅能够加深对Java语法的理解,还能培养良好的编程习惯和问题解决能力,为未来更...
C++习题与解析(类和对象-01) 本节习题主要介绍了C++中的类和对象...本节习题涵盖了C++中类和对象的基本概念、构造函数、析构函数、静态对象、对象指针和类数据成员指针等知识点,为读者提供了一个系统的学习平台。
- **用途**:修饰类或方法,表示抽象类或抽象方法。 #### 6-8 接口 - **定义**:一组方法签名的集合。 #### 6-9 继承和多态章节练习 - **练习内容**:涉及继承关系的设计、多态的应用等。 ### 七、面向对象的分析...
这份“Java编程练习题资源 - 各章节练习刷题”是为那些希望提升Java技能或巩固基础知识的学习者准备的宝贵资料。通过解决这些练习题,无论是初学者还是经验丰富的开发人员,都能加深对Java语言的理解,提高解决问题...
- **继承与多态**(6-0至6-8):探讨继承、多态、访问修饰符、静态(static)修饰符、final修饰符、抽象类、接口等面向对象特性。 - **面向对象的设计与分析**(7-1至7-5):介绍面向对象的分析与设计原则、对象模型...
练习题中可能会包含创建简单类、实现继承、接口以及封装、抽象和多态等概念。 此外,C#还支持事件和委托,这是Windows应用程序交互的重要机制。理解事件处理和委托的使用,可以更好地编写用户界面响应的程序。练习...
### Java基础知识练习题详解 #### 1. 无法读取xxx.java 文件 - **问题解析**:如果遇到“无法读取 xxx.java”这样的错误提示,通常意味着文件路径不正确、文件不存在或者没有权限访问该文件。 - **解决方法**: - ...
练习题会涉及到类的继承关系、接口的使用,以及抽象类和多态的实现。 - 接口与抽象类的区别,以及如何使用接口实现多态性。 6. **异常处理**: - 异常是程序运行时可能出现的问题。Java强制使用try-catch-finally...
在"java知识练习题"这个资源中,你将找到一系列关于Java基础知识的练习题目,这些题目涵盖了Java初学者需要掌握的关键概念。这些题目旨在帮助新入行的程序员巩固和加深对Java的理解。 一、Java基础 1. **变量与数据...