任务卡_02-面向对象_第2节 面向对象基础

目录

一,面向对象基础训练任务

1,

代码

2,

代码

3,

代码


一,面向对象基础训练任务

1,

编写 Car 类,属性有品牌(brand)和颜色(color),show 方法打印 所有属性。

代码

package com.kaikeba.demo;

import java.util.Scanner;
/*
 * 编写 Car 类,属性有品牌(brand)和颜色(color),show 方法打印 所有属性。
 */
public class Demo1 {
	
	public static void main(String[] args) {
		// 类Car的测试代码
		System.out.println("全参构造方法的对象");
		new Car("宝马", "白色").show();		// 匿名对象的使用(只用一次故采用匿名对象)
		System.out.println();
		System.out.println("无参构造方法的对象");
		new Car().show();
	}
	
}

// Car类
class Car{
	// 成员变量
	String brand;
	String color;
	
	// 方法
	Car(){								// 无参构造方法
		brand = "空";
		color = "空";
	}
	Car(String brand1, String color1){	// 全参构造方法
		brand = brand1;
		color = color1;
	}
	void show() {						// 函数
		System.out.println("车的商标为:" + brand);
		System.out.println("车的颜色为:" + color);
	}
}


2,

定义一个游戏类,包括游戏的属性包括:游戏名、类型、大小、星级、 介绍等,可以调用方法输出游戏的介绍

代码

package com.kaikeba.demo;

public class Demo2 {

	public static void main(String[] args) {
		Game game1 = new Game();	// 无参构造方法
		game1.name = "王者荣耀";
		game1.type = "休闲、竞技";
		game1.size = 2000;
		game1.star = 3.1f;
		game1.info = "《王者荣耀》是腾讯第一5V5团队公平竞技手游,国民MOBA手游大作! 5V5王者峡谷、公平对战,还原" + 
				"MOBA经典体验;契约之战、五军对决、边境突围等,带来花式作战乐趣! 10秒实时跨区匹配,与好友开黑上分," + 
				"向最强王者进击!多款英雄任凭选择,一血、五杀、超神,实力碾压,收割全场!敌军即将到达战场,王者召唤师快来集结好友,准备团战,就在《王者荣耀》!";
		game1.showInfo();
		

	}

}

class Game{
	// 属性
	String name;				// 游戏名称
	String type;				// 游戏类型
	int size;					// 游戏大小 单位为M
	float star;					// 游戏星级 最大值为5
	String info;				// 游戏介绍
	
	// 方法
	Game(){						// 无参构造方法
		name = "空";
		type = "空";
		size = 0;
		star = 0.0f;
		info = "无";
	}
	Game(String name1, String type1, int size1, int star1, String info1){	// 全参构造方法
		name = name1;
		type = type1;
		size = size1;
		star = star1;
		info = info1;
	}
	void showInfo() {			// 输出游戏介绍
		System.out.println("游戏名称为:" + name);
		System.out.println("游戏类型为:" + type);
		System.out.println("游戏大小为:" + size + "M");
		System.out.println("游戏星级为:" + star);
		System.out.println("游戏介绍:" + info);
	}
}

3,

定义并测试一个代表员工的 Employee 类。它的属性包括“员工姓名”、 “员工号码”、“员工基本薪水”、“员工薪水增长率”;他的方法包括“构 造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、 “计算薪水增长额”及“计算增长后的工资总额”。

代码

package com.kaikeba.demo;

public class Demo3 {

	public static void main(String[] args) {
		Employee person1 = new Employee("张三", "666666", 20000, 0.1f);
		
		// 获得员工姓名
		String name = person1.getName();
		System.out.println("员工姓名为:" + name);
		
		// 获得员工ID
		String ID = person1.getID();
		System.out.println("员工ID为:" + ID);
		
		// 获得员工基本薪水
		float baseSalary = person1.getBaseSalary();
		System.out.println("员工基本薪水为:" + baseSalary + "元");
		
		// 获得员工薪水增长额
		float increaseSalary = person1.getSalaryIncrease();
		System.out.println("员工薪水增长额为:" + increaseSalary + "元");
		
		// 获得增长后的工资总额
		float finalSalary = person1.getFinalSalary();
		System.out.println("员工增长后的工资总额为:" + finalSalary + "元");
	}

}
class Employee{
	/*
	 * 属性
	 */
	String name;
	String ID;
	float baseSalary;
	float salaryGrowthRate;
	
	/*
	 * 方法
	 */
	// 无参构造方法
	Employee(){
		name = "空";
		ID = "000000";
		baseSalary = 0.0f;
		salaryGrowthRate = 0.0f;
	}
	// 全参构造方法
	Employee(String name1, String ID1, float baseSalary1, float salaryGrowthRate1){
		name = name1;
		ID = ID1;
		baseSalary = baseSalary1;
		salaryGrowthRate = salaryGrowthRate1;
	}
	// 获取员工姓名
	String getName() {
		return name;
	}
	// 获取员工号码
	String getID() {
		return ID;
	}
	// 获取员工基本薪资
	float getBaseSalary() {
		return baseSalary;
	}
	// 获取薪水增长额
	float getSalaryIncrease() {
		return baseSalary * salaryGrowthRate;
	}
	// 获取增长后的薪水
	float getFinalSalary() {
		return baseSalary * salaryGrowthRate + baseSalary;
	}
}

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象与UML 第一部分 软件开发活动 7 第一章 结构化的分析与设计 8 第一 模型图 8 业务流程图 8 数据流图 11 功能结构图 12 功能树 13 网络结构图 14 程序流程图 15 第二 需求分析 15 需求分析的任务 15 需求分析的步骤 15 需求分析的原则 16 需求分析的方法 16 第三 概要设计 16 概要设计任务 17 概要设计过程 17 一些概念 17 概要设计原则 17 概要设计方法 17 第四 详细设计 18 详细设计的任务 18 详细设计的原则 18 详细设计的表示方法 18 第二章 面向对象的分析与设计 18 第一 面向对象方法概述 18 对象与面向对象 18 面向对象技术产生的原因 19 面向对象方法的基本思想 19 概念 19 面向对象技术的特点 19 面向对象语言及系统 19 第二 面向对象的分析 20 OOA分析的任务 20 OOA分析的原则 20 OOA分析过程 20 第三 面向对象的设计 20 设计的模型 20 设计的三条重要原则 21 面向对象设计的概念 21 面向对象的设计方法 21 第三章 UML概述 22 UML对软件工程的重大影响 22 UML的概念模型 22 UML的建模思想 23 第四章 用UML建模 24 第一 建模概念 24 系统、模型和视图 24 概念和现象 25 数据型、抽象数据型和实例 25 、抽象和对象 26 事件、事件和消息 27 面向对象的建模 27 证伪和原型化 28 第二 UML的主要图形符号 28 用例图 28 图 35 顺序图 40 状态图 42 活动图 44 图表组织 45 图表扩展 47 第五章 需求提出 47 第一 需求提出概述 48 第二 需求提出的概念 50 功能性需求--系统功能 50 功能的分 50 非功能性需求和伪需求 51 系统属性 51 描述的层次 52 用例的分 52 用例的层次:高层用例与扩展用例 53 主要、次要和可任选的用例 53 基本用例和真实用例 53 正确性、完整性、一致性、清晰性和现实性 54 可验证性和可追溯性 55 可跟踪性 55 greenfield工程、再工程、界面工程 56 第三 需求提出活动 56 确定执行者 56 确定场景 57 确定用例 58 改进用例 60 确定执行者和用例之间的关系 60 确定最初的分析对象 62 确定非功能性需求 63 从用户得到信息的方法 64 第六章 需求分析概述 64 需求分析的概念 65 概念模型 65 实体对象,边界对象,控制对象 67 回顾关系重数 68 受限关系 69 归纳 69 第七章 需求分析活动:从用例到对象 70 第一 识别概念 70 识别概念的策略一 70 识别概念的策略二 71 建立概念模型的指导原则 71 几个注意点 71 自然语言分析: Abbott的试探法 72 第二 标识实体对象 72 标识实体对象的试探法 72 例子:报告紧急情况用例 73 例子:报告紧急情况用例的实体对象 73 第三 标识边界对象 73 标识边界对象的试探法 73 例子:报告紧急情况用例的边界对象 74 第四 标识控制对象 74 标识控制对象的试探法 74 例子:报告紧急情况用例的控制对象 74 第五 标识关系 75 关系的属性: 75 标识关系的试探法 75 试探关系 75 冗余关系 75 惟一标识 76 找出关联——通用关联列表 76 关联原则 76 关联的命名 77 两个型间的多重关联 77 关联和它的实现 77 例子:销售点问题中的关联 77 第六 标识属性 78 属性属性 78 有效的属性型 78 非简单属性型 78 识别属性 79 例子:销售点系统中的属性 79 术语表 80 第八章 需求分析活动:用动态模型表示系统行为 80 系统行为 80 交互图 80 交互图:协作图与顺序图 81 交互图的依赖关系 82 顺序图--两种观点 82 系统顺序图 82 系统事件和系统操作 83 如何建立一个系统顺序图 84 系统事件和系统边界 84 系统事件和操作的命名 84 对象顺序图 85 画顺序图的试探法 86 协作图的基本表示法 87 契约 90 活动及其之间的依赖关系 90 系统行为与契约 90 契约段 91 如何建立一个契约 91 后置条件 92 后置条件应该详细到什么程度 92 描述设计细和算法——注释 93 前置条件 93 对书写契约的一些建议 93 用例enterItem的契约 93 概念模型的修改 93 标识状态 94 事件、状态和转移 94 状态图 94 用例状态图 95 系统状态图 95 状态无关和状态相关型 95 何处需要状态图 95 外部和内部事件 96 其他的状态图表示法 96 对单个对象的重要行为进行建模:状态图 96 第九章 GRASP: 职责分配模式 97 导言 97 职责和方法 98 UML图表示方法 98 职责和交互图 98 模式 99 GRASP: 职责分配中通用原则的模式 99 专家 99 问题: 99 解决方案: 99 举例: 99 专家模式的优点是: 100 创建者 100 问题: 100 解决方案: 100 举例: 100 优点: 101 低耦合度 101 问题: 101 解决方案: 101 举例: 101 优点: 102 高聚合度 102 问题: 102 解决方案: 102 高聚合度例 102 具有不同功能聚合度的一些场景如: 102 优点: 103 控制者 103 问题: 103 解决方案: 103 控制者例 103 优点: 104 问题要点和讨论 104 消息处理系统和命令模式 105 相关模式 106 职责、角色扮演和CRC 106 GRASP: 职责分配中通用原则总结 106 多态 106 问题: 106 解决方案: 107 举例: 107 讨论 107 优点 107 纯虚构 107 问题: 107 解决方案: 107 讨论 107 优点: 108 相关模式 108 中介者 108 问题: 108 解决方案 108 举例: 108 讨论: 108 优点: 低耦合 109 相关模式 109 “不要和陌生人讲话” 109 问题: 109 解决方案: 109 举例 109 讨论 109 优点: 低耦合 110 相关模式 110 第十章 需求分析活动:精化模型 110 建立交互图的步骤 110 例:运用对象和模式设计一个解决方案 110 交互图和其他制品 110 销售点系统的协作图 111 对对象间的归纳关系建模——泛化 113 泛化 114 UML表示法: 114 定义超型和子型 114 何时定义一个子型 115 销售点终端系统的型层次 115 组织模型 116 销售点终端系统的概念模型中的包 116 检查分析模型 116 检查提问 116 分析总结 117 第十一章 系统设计 118 第一 系统设计概况 118 分析产生的需求模型由以下结果描述: 118 系统设计得到如下结果: 118 他们特别需要解决以下问题: 119 第二 系统设计的概念 120 子系统和 120 服务和子系统接口 121 耦合度与相关性 121 分层和分区 124 软件体系结构 126 UML配置图 131 两个包之间的可见性 131 服务包接口——虚包模式 131 模型-视图分离模式 132 一个系统中的间接通信 132 应用协调者 133 存储和持久化 133 第三 系统设计活动:从对象到子系统 133 起点:路线设计系统的分析模型 134 确定设计目标 135 确定子系统 137 将子系统映射到处理器和组件 138 定义连续数据的存储 140 定义访问控制 142 设计全局控制流 146 确定边界条件 147 预期变化 149 系统设计综述 150 第四 系统设计的管理 151 记录系统设计 151 分配任务 152 与系统设计相关的交流 153 系统设计的不断反复 153 第十二章 对象设计 154 第一 对象设计概况 155 对象设计包括4组活动 155 对象设计是非线性的。 156 第二 对象设计概念 157 应用域对象和解决域对象回顾 157 型、声明和可见性回顾 157 合约:不变量、前提条件和后续条件 159 UML对象约束语言(OCL) 160 第三 对象设计活动 161 规格说明活动 161 确定遗漏的属性和操作 163 指定型、声明和可见性 166 指定约束条件 166 指定异常情况 167 组件选择活动 168 确定并调整库 168 确定并调整应用程序框架 169 重组活动 169 实现关系 170 提高可复用性 172 消除实现的依赖性 173 优化活动 175 回顾访问路径 175 退化对象:将对象转变成属性 176 存储高开销计算的结果 176 推迟高开销计算 176 第四 对象设计的管理 177 用文档记录对象设计 177 分配职责 180 设计图 180 活动及其相互之间的依赖关系 181 何时创建设计图 181 设计图示例 181 如何建立设计图 181 概念模型和设计图的对比 182 建立销售点系统的设计图 182 识别出并画出它们。 182 添加关联和导航 183 添加依赖关系 183 细的表示法 184

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值