封装的练习题目1

news/2024/9/24 19:50:52/文章来源:https://www.cnblogs.com/ndmtzwdx/p/18429881

1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。
要求:
1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问
2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认设置“心情好”。
3)设置构造函数实现对属性赋值
4)叫和跑的方法,需要根据心情好坏,描述不同的行为方式。
编写测试类,测试狗类的对象及相关方法(测试数据信息自定义)
运行效果图:

首先先构造一个狗类,有上面的变量和方法

class Dog {private String variety;private int age;private String fell;private String name;public Dog() {}public Dog(String variety, int age, String fell, String name) {this.variety = variety;this.age = age;setFell(fell); //因为题目要求只有两种心情值,将心情的判断的语句写在setFell中,这里直接调用setFell方法this.name = name;}//4)叫和跑的方法,需要根据心情好坏,描述不同的行为方式。public void Call() {if("心情好".equals(fell)){System.out.println("名字叫"+name+"的"+variety+fell+",开心的汪汪叫");}else{System.out.println("名字叫"+name+"的"+variety+fell+",伤心的呜呜叫");}}public void Run() {if("心情好".equals(fell)){System.out.println("名字叫"+name+"的"+variety+fell+",开心的围着主人身边转");}else{System.out.println("名字叫"+name+"的"+variety+fell+",伤心的一动不动");}}public String getVariety() {return variety;}public void setVariety(String variety) {this.variety = variety;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getFell() {return fell;}public void setFell(String fell) {this.fell=fell;}public void show() {Run();Call();}
}

2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认设置“心情好”。
编写心情值的判断语句

public void setFell(String fell) {if ("心情好".equals(fell) || "心情不好".equals(fell)) {this.fell = fell;} else {this.fell="心情好";System.out.println("输入信息错误,这只狗狗今天心情很好!");}}

编写测试类

public class Test1 {public static void main(String[] args) {Dog d1 = new Dog("贵宾犬",2,"心情非常好","甜心");d1.show();System.out.println("======================================");Dog d2 = new Dog("边牧", 3, "心情不好", "白球");d2.show();}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五款免费可视化工具全解析:选择你的最佳搭档

1. 山海鲸可视化 介绍: 山海鲸可视化是一款免费的国产可视化报表软件,与许多其他宣传免费的软件不同,山海鲸的报表功能完全免费并且没有任何限制,就连网站管理后台这个功能也是免费的。同时山海鲸可视化还提供了种类丰富的可视化图表、三维模型、模板可供使用,软件采用点击…

408OS_PV操作大题总结

咸鱼今年压了读者写者问题,前几年没考过。死锁的四个条件是:禁止抢占(no preemption):系统资源不能被强制从一个线程中退出。 持有和等待(hold and wait):一个线程在等待时持有并发资源。持有并发资源并还等待其它资源,也就是吃着碗里的望着锅里的。 互斥(mutual exc…

2024.9.24 思维导图与PDF

哈哈哈终于有我也用过的东西啦~Xmind一款打工人用了都说好的软件(#.#) 【知识小课堂1】不同款式的思维导图:【知识小课堂2】PDF转换器! 1、PDF(便携式文档格式),这种文件格式与操作系统平台无关 —— PDF文件不管是在Windows还是别的操作系统中都是通用的。 2、这一特点使它…

如何设计一个伪无埋点的框架?

主要基于无埋点的缺点,来设计一个伪无埋点的框架,使得业务既可以拥有无埋点的特性,又能满足业务的数据分析需求本文同步发布于公众号:移动开发那些事如何设计一个伪无埋点的框架 在前面的文章:Android无埋点技术概览 中提到传统的无埋点有几大缺点:埋点字段有限,没有办法…

吴恩达机器学习课程 笔记4 分类 逻辑回归

逻辑回归 机器学习中的逻辑回归(Logistic Regression)是一种广泛使用的分类算法,尽管它的名字中包含“回归”这个词,但实际上它主要用于解决分类问题,特别是二分类问题。逻辑回归模型可以用来预测某一类事件发生的概率,例如预测用户是否会点击广告、病人是否患有某种疾病…

设计模式之中介模式(三分钟学会一个设计模式)

中介模式(Mediator)又称之为调停模式。mediator [ˈmiːdieɪtə(r)] n. 调停者;斡旋者;解决纷争的人(或机构); 本意就是解决纠纷的中间人它是面向对象六大原则中最少知道原则的一个典型应用。(关于面向对象六大原则,可看前文:https://www.cnblogs.com/jilodream/p/535351…

Large Vision Model

LVM https://yutongbai.com/lvm.html https://zhuanlan.zhihu.com/p/671423679Large Vision Model(简称LVM)是一种纯粹基于视觉数据进行训练和推理的大型模型,其特点在于无需涉及任何自然语言输入或输出。该模型的提出源自一篇由UC Berkeley的三位计算机视觉专家联合撰写的论…

2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队

9 月 20 日,2024 天池云原生编程挑战赛决赛答辩完美落幕,12 支进入决赛的团队用精彩的答辩,为历时 3 个月的大赛画下了圆满的句号。其中,来自中山大学的陈泓仰以及来自昆仑数智的冉旭欣、沈鑫糠、武鹏鹏,以出色的方案、创新的优化思路、过硬的技术实力分获赛道一和赛道二的…

1panle搭建的maxkb增加本地向量模型

首先下载模型,比如m3e-large,并上传到/opt/maxkb/model/local_embedding/ 目录,没有就创建 目录如下:然后修改1panel的容器信息,点击右边的编辑:在下方的挂在目录处点击添加:在两个框都输入: /opt/maxkb/model/local_embedding 然后,确认保存,再重启容器 重启成功后…

WinForm右键菜单的快键键设置

原文链接:https://blog.csdn.net/zhourongxiang1/article/details/138176092 Form中有一个富文本框控件,在里面右键鼠标,弹出下拉菜单。快捷键的效果则是按下alt+p,触发按下属性事件。 1.从工具箱添加RichTextBox2.然后添加ContextMenuStrip 3.选择RichTextBox的ContextMenu…