【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。(2023.10.31)

news2024/12/23 1:45:04

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

 🎯问题:

🎯 答案:

💛废话文学:Java的优势:


 🎯问题:

1搭建项目架构

        (a)编写手机的父类HandSet,封装属性品牌和型号,提供公有的取值和赋值方法,编写显示手机品牌和型的方法并实现方法体;

        (b)编写打电话和发短信的抽象方法call()和sendInfo()。

2编写接口模拟手机的功能

    (a)编写连接网络的接口NetWork,定义上网的方法networkConn();

    (b)编写拍照的接口TakePictures,定义拍照的方法takePicture();

    (c)编写播放的接口Play,定义播放内容的方法play(String incontent);

3使用继承父类和实现接口的方式模拟手机功能

        (a)新建普通手机类CommonHandSet继承父类HandSet,实现播放的接口Play;

        (b)编写带参、无参构造方法用于提供创建CommonHandSet对象的方式;

        (c)实现父类中的方法sendInfo()和call(),接口中的方法play(String incontent);

        (d)新建智能手机类AptitudeHandSet继承父类HandSet,实现播放的接口Play、连接网络的接口Network,拍照的接口TakePictures;

        (e)编写带参,无参构造方法用于提供创建AptitudeHandSet对象的方式;

        (f)实现父类中的方法sendInfo()和call(),实现接口中的方法play(String incontent)、takePicture()和networkConn();

        (g)编写测试类Test,分别创建CommonHandSet和AptitudeHandSet类的对象,调用相应方法进行测试。测试结果如图所示。

🎯 答案:

package file3;
abstract class HandSet{
	private String Brand;
	private String Model;
	
	public HandSet() {
		super();
	}
	
	public HandSet(String brand, String model) {
		super();
		Brand = brand;
		Model = model;
	}

	public String getBrand() {
		return Brand;
	}
	public void setBrand(String brand) {
		Brand = brand;
	}
	public String getModel() {
		return Model;
	}
	public void setModel(String model) {
		Model = model;
	}
	@Override
	public String toString() {
		return "这是一款型号为"+Model+"的"+Brand+"的手机!";
	}
	abstract void call();
	abstract void sendInfo();
}
interface NetWork{
	void networkConn();
}
interface TakePictures{
	void takePicture();
}
interface Play{
	void play(String incontent);
}
class CommonHandSet extends HandSet implements Play{
	public CommonHandSet() {
		super();
		// TODO Auto-generated constructor stub
	}

	public CommonHandSet(String brand, String model) {
		super(brand, model);
		// TODO Auto-generated constructor stub
	}
	@Override
	void call() {
		// TODO Auto-generated method stub
		System.out.println("语音通话。。。");
	}

	@Override
	void sendInfo() {
		// TODO Auto-generated method stub
		System.out.println("发送文字信息。。。。");
	}
	@Override
	public void play(String incontent) {
		// TODO Auto-generated method stub
	System.out.println(incontent);	
	}
}
class AptitudeHandSet extends HandSet implements Play,NetWork,TakePictures{

	public AptitudeHandSet() {
		super();
		// TODO Auto-generated constructor stub
	}

	public AptitudeHandSet(String brand, String model) {
		super(brand, model);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void takePicture() {
		// TODO Auto-generated method stub
		System.out.println("咔嚓.....拍照成功");
	}

	@Override
	public void networkConn() {
		// TODO Auto-generated method stub
		System.out.println("成功连入网络。。。。");
	}

	@Override
	public void play(String incontent) {
		// TODO Auto-generated method stub
		System.out.println("正在播放"+incontent);
	}

	@Override
	void call() {
		// TODO Auto-generated method stub
		System.out.println("视频通话。。。");
	}

	@Override
	void sendInfo() {
		// TODO Auto-generated method stub
		System.out.println("发送图文彩信。。。。。");
	}
}
public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CommonHandSet c=new CommonHandSet("苹果", "666");
		AptitudeHandSet a=new AptitudeHandSet("华为", "777");
		System.out.println("-------普通手机----------");
		System.out.println(c.toString());
		c.sendInfo();
		c.call();
		c.play("播放歌曲:《东方红》");
		System.out.println("---------智能手机--------------");
		System.out.println(a.toString());
		a.sendInfo();
		a.call();
		a.networkConn();
		a.takePicture();
		a.play("正在播放电视剧:《赘婿》");
	}

}

💛废话文学:
Java的优势:

跨平台性: Java是一种跨平台的编程语言,即一次编写,到处运行。Java程序在不同的操作系统上具有很高的移植性,这使得开发人员能够通过Java开发应用程序,无需担心底层操作系统的差异。

面向对象: Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。这种编程范式使得代码可以更加模块化、可重用,并且有助于提高代码的可维护性和可扩展性。

强大的生态系统: Java拥有丰富的标准库和第三方库,提供了各种功能强大的工具和框架,如Spring、Hibernate和JUnit等。这些工具和框架使得Java开发人员能够更加高效地开发应用程序,并提供了解决特定问题的解决方案。

多线程支持: Java内置了对多线程编程的支持,使得开发人员可以轻松地创建并发应用程序。多线程编程可以有效地利用多核处理器的性能,并提高程序的响应速度和吞吐量。

安全性: Java拥有严格的安全机制,包括字节码验证、安全管理器和安全沙箱等,可以防止恶意代码对系统的破坏。这使得Java成为开发安全性要求较高的应用程序的理想选择。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

广西建筑模板厂家:行业先锋,品质之选

在建筑行业繁荣发展的今天,广西建筑模板厂家作为产业链中的关键环节,扮演着举足轻重的角色。这些厂家以卓越的创新力、精湛的技术和优质的客户服务,为建筑行业提供了无数可靠的解决方案。 一、创新引领进步广西建筑模板厂家始终坚持创新是推动…

如何使用内网穿透远程访问Linux SVN服务?

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

基于javaweb的吃了吗管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Oracle查询表结构、索引和备注

1, ORACLE 查询表结构 SELECT table_name, column_name, data_type,DATA_LENGTH,COLUMN_ID,user_tab_comments,user_col_comments FROM USER_TAB_COLUMNS WHERE table_name upper(T_Acc_Settle_Account);SELECT * FROM user_tab_columns WHERE table_nameT_Acc_Settle_Accoun…

C++进阶语法——STL 标准模板库(上)(Standard Template Library)【学习笔记(六)】

文章目录 STL 标准模板库1、 STL简介2、STL容器的类别3、STL迭代器的类别4、STL算法的类别5、泛型编程(generic programming)6、C模板(template)6.1 函数模板(function template)6.2 类模板(cla…

QVD-2023-19300:致远M1 usertokenservice反序列化RCE漏洞复现

文章目录 致远M1 usertokenservice反序列化RCE漏洞(QVD-2023-19300)复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远M1 usertokenservice反序列化RCE漏洞(QVD-2023-19300)复现 0x01 前言 免责声明&…

浅谈Redis的五大数据类型及其应用

前言 Redis是一种开源的内存数据结构存储系统,它支持多种数据类型,包括字符串String、列表list、集合、哈希表和有序集合。这些数据类型在Redis中有着广泛的应用场景,可以满足不同的业务需求。本文将介绍Redis的五大数据类型及其应用。 一、string数据类型 常用命令: …

腾讯云2023年双11活动,云服务器2核2G首年88元,领券最高省9999元!

腾讯云2023年双11大促活动正在火热进行中,腾讯云也是拿出了十足的诚意,个人企业用户均可领取代金券礼包,云服务器首年1.8折起,买1年送3个月! 一、活动时间 腾讯云2023年双11大促活动时间比较充足,一直持续…

股权比例设计的九条生命线

股权比例设计——绝对控制线67% 【释义】一些重大事项如公司的股本变化,关于公司的增减资,修改公司章程, 分立/合并、变更主营项目等重大决策,需要2/3以上(含2/3)票数支持的。 股权比例设计——相对控制线…

大学校园闲置物品出售交易平台源码 二手交易源码

jspssm(springspringMVCmybaits)mysql实现的校园二手市场交易平台, 前台主要实现的功能有: 按分类显示商品列表、搜索商品、登录注册、关注商品、 评论商品、购买商品、用户登录后购买商品、发布商品、查看订单、查看关注的商品…

CKS真题分析-2023年度

CKS备考 Killercoda Interactive Environments #模拟环境 考试大纲 CKS考试介绍01 kube-bench 修复不安全项有kube-apiserver、etcd和kubelet,要记住3个文件对应的路径02 Pod 指定 ServiceAccount注意 automountServiceAccountToken: false03默认网络策略ingress…

第16期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

微信小程序的踩坑记录

问题记录: 嵌套太深 导致不起作用 点击我的工单 但是打印的结果值却是我的问题 没有点到我的工单上边去 原因:图片粘连在一起 解决方案:给图片100% 达到父元素的100% 最后成功蓝色的不粘连

遥测终端机的工作原理和主要应用领域

遥测终端机是一种关键设备,用于远程监测和数据采集。它在各个领域发挥着重要作用,从工业控制到环境监测、水利水文监测、从航天航空到能源管理。无线数据采集传输终端,它是自动化监测与控制系统的核心装置,将现场的传感仪表与监控…

开源人之歌,献给天下开源人

《开源人之歌》 这是一首献给开源人的中文歌曲(很可能是第一首) 这是一首用开源精神和开放式协作共同创作的作品 这是一首想让开源人能一起听、一起唱的流行歌曲 这是一首欢迎继续fork、发挥开源无限创新的项目 作者丨林旅强 编辑丨胡欣元 设计丨林旅强、…

最新版本QGIS 开始支持cesium 3D TILE 数据源了

最新版本QGIS 也开始支持3D TILE 数据源了!加载和运行速度也是慢,不过都这样,也不是qgis的问题!这东西对网络和性能要求比较高!据说这是cesium社区提供基金让qgis团队开发的,cesium社区真是很有钱啊😁,不过也不奇怪&am…

nginx+keepalived实现nginx服务的高可用

本章教程,简单介绍如何利用keepalived实现nginx服务高可用。 keepalived是一个开源的高可用性解决方案,它可以在Linux系统上实现负载均衡和故障转移。它主要用于确保在服务器集群中的主服务器出现故障时,能够快速切换到备用服务器&#xff0c…

如何处理不稳定的自动化测试?

abluecolor 在解决这个问题之前,请停止编写更多测试,因为这将花费你较高的测试维护成本。你需要尽快行动起来对不稳定的原因进行深入研究,找到不稳定的根因,并且尝试在流程、环境和代码方面做一些优化工作解决它。 MasterKindew…

GB28181和RTSP使用场景区别有哪些?

场景差异 好多开发者纠结,到底使用GB28181还是RTSP,这里简单的谈下二者使用场景区别,GB28181和RTSP(Real-Time Streaming Protocol)是用于视频监控和流媒体传输的两种不同的协议。 GB28181是中国国家标准委员会发布的…

网页游戏开发引擎的特点

网页游戏开发引擎是用于创建游戏应用程序的工具,可以在网页浏览器中运行。这些引擎通常基于Web技术,如HTML5、JavaScript和CSS,以便在不同平台上实现跨平台的游戏开发。以下是一些流行的网页游戏开发引擎以及它们的主要特点,希望对…