Java面向对象抽象类案例分析
时间:2022-05-07
本文章向大家介绍Java面向对象抽象类案例分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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 }
- 基础篇章:关于 React Native 之 Touchable 系列组件的讲解
- 基础篇章:关于 React Native 之 Navigator 组件的讲解
- CentOs7.3 搭建 ZooKeeper-3.4.9 单机服务
- Ubuntu 17.04 编译安装 Nginx 1.9.9
- CentOS7.3 安装 iptables 与详细使用
- CentOs7.3 安装 maven3.5
- 基础篇章:关于 React Native 之 Picker 组件的讲解
- Java8的十大新特性你了解多少呢?
- spring 监听器
- ELK 集群 Kibana 使用 X-Pack 权限控制,监控集群状态,实时的生成,警报,监视,cpu,内存,磁盘空间,等等一系列,报告和的可视化图形
- Dubbo详细介绍与安装使用过程
- 基础篇章:关于 React Native之 ActivityIndicator 组件的讲解
- 基础篇章:关于 React Native 之 KeyboardAvoidingView 组件的讲解
- 基础篇章:关于 React Native 之 Slider 组件的讲解
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- linux 达梦数据库 命令行 卸载
- Access Control: Database(数据库访问控制)最新解析及完整解决方案
- 启动Apache Atlas时报错
- Apache Atlas 安装部署
- SwiftUI:禁止用户交互
- Qt音视频开发34-Onvif时间设置
- 网络工程师提高篇 | 路由重发布你了解多少?从原理到配置,瑞哥带你学习一波!
- 短视频APP开发,简单计时功能
- LeetCode | 94.二叉树的中序遍历
- Druid 的整合
- LeetCode | 104.二叉树的最大深度
- Flutter 目录结构和项目资源
- iOS音视频接入- TRTC互动直播
- 【一天一大 lee】查找常用字符 (难度:简单) - Day20201014
- 金九银十准备换场地?对标腾讯T3的Android高级工程师面试大纲及时雨来了