Java面向对象抽象类案例分析

简介: 1 /** 2 雇员示例: 3 需求:公司中程序员有姓名,工号,薪水,工作内容 4 项目经理除了有姓名,工号,薪水还有奖金,工作内容 5 对给出需求进行数据建模 6 7 8 分析: 9 在这个问题领域中,先找出涉及的对象 10 通过名词提炼法 11 程序...
 1 /**
 2 雇员示例:
 3 需求:公司中程序员有姓名,工号,薪水,工作内容
 4 项目经理除了有姓名,工号,薪水还有奖金,工作内容
 5 对给出需求进行数据建模
 6 
 7 
 8 分析:
 9 在这个问题领域中,先找出涉及的对象
10 通过名词提炼法
11 程序员:
12     属性:姓名,工号,薪水
13     行为:工作
14 经理:
15     属性:姓名,工号,薪水,奖金
16     行为:工作
17     
18 
19 程序员和经理不存在直接继承关系,
20 但是程序员和经理却具有共性内容,
21 可以进行抽取,因为他们都是公司的雇员
22 
23 可以将程序员和经理进行抽取,建立体系
24 */
25 
26 //公司体系的建立
27 
28 //雇员
29 class Employee
30 {
31     private String name;
32     private String id;
33     private double pay;
34     Employee(String name,String id,double pay)
35     {
36         this.name=name;
37         this.id=id;
38         this.pay=pay;
39     }
40     public abstract void work()
41 }
42 
43 //描述程序员
44 class Programmer extends Employee
45 {
46     Programmer(String name,String id,double pay)
47     {
48         super(name,id,pay);
49     }
50     public void work()
51     {
52         System.out.println("code...");
53     }
54 }
55 
56 //描述经理
57 class Manger extends Employee
58 {
59     private int bonus;
60     Manger(String name,String id,double pay,int bonus)
61     {
62         super(name,id,pay);
63         this.bonus=bonus;
64     }
65     public void work()
66     {
67         System.out.println("manage");
68     }
69 }

 

目录
相关文章
|
2天前
|
Java
Java 抽象类
5月更文挑战第4天
|
5天前
|
存储 安全 Java
Java面向对象最新超详细总结版!
Java面向对象最新超详细总结版!
25 7
Java面向对象最新超详细总结版!
|
2天前
|
Java
Java一分钟之-抽象类与接口的应用场景
【5月更文挑战第9天】Java中,抽象类和接口用于实现多态和抽象。抽象类不能实例化,提供部分实现和定义模板;接口包含无实现的抽象方法,用于定义行为规范和解耦合。选择时,关注行为用接口,部分实现用抽象类。注意抽象类的`final`和`static`方法、接口冲突等问题,明确设计目标,适度抽象,遵循接口设计原则,以提高代码质量。
11 1
|
2天前
|
Java
java面向对象——包+继承+多态(一)-2
java面向对象——包+继承+多态(一)
15 3
|
2天前
|
SQL Java 编译器
java面向对象——包+继承+多态(一)-1
java面向对象——包+继承+多态(一)
16 2
|
2天前
|
设计模式 消息中间件 安全
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
9 0
|
2天前
|
Java
【Java多线程】分析线程加锁导致的死锁问题以及解决方案
【Java多线程】分析线程加锁导致的死锁问题以及解决方案
11 1
|
11天前
|
Java 关系型数据库 测试技术
Java代码一键生成数据库文档(案例详解)
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
|
12天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
10 0
|
1月前
|
设计模式 Java
Java基础—笔记—多态、final、抽象类、接口篇
该文介绍了编程中的多态、final和抽象类、接口相关概念。多态允许子类重写父类方法,通过父类引用调用子类方法,实现解耦和提高代码灵活性,但也可能导致无法使用子类特有功能,需通过强制类型转换解决。final用于修饰不可变的类、方法或变量,防止继承、重写和多次赋值。抽象类是一种包含抽象方法的类,用于强制子类重写特定方法,实现多态,适用于模板方法设计模式,解决代码重复问题。
20 0