软件设计师 试题六零基础做题方法分解

接口要实现implements,父类要继承extends
做题技巧:如果在接口下的代码可以不写public

在这里插入图片描述

接口后面有个代码,在下面代码中一定有implements对他实现,接口下面是抽象方法也就是函数的实现,具体的实现再类中,
在这里插入图片描述
就是在这里实现,一般方法就是对接口的实现


下面对应真题实现
在这里插入图片描述
有一个接口实现patient这个,空出来的就是对应的抽象方法,实现这和方法就要去类里面找到一般方法代码
在这里插入图片描述
**第一行没有打括号的就是属性,第二行判断方法,方法名根类名一致的话就是构造方法,并且构造方法没有返回 **
这个类对patient实现,所以第三行就是一般方法,所以这题的答案就是string getName()


在这里插入图片描述

入口类相当于main函数,这里边一般都是new出对象的,正好入口类没有new出来的。比如如上例题Patient patient=找到实现这个接口的类,那就是圈起来的

但是要注意,构造方法位置,要填一个string类型的名字,所以这个答案是new ConcretePatient(“”)


在这里插入图片描述
做题技巧前面是f=后面肯定也是一个f开的因为这是命名规范。还有就是f=谁这肯定是要new的 new谁取决于上文

在这里插入图片描述


在这里插入图片描述
根据基本语法,new完是要根据点一个方法来调用。看下f类里跟谁相关就点谁,如下图Facade里只有一个dispose方法
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

class类下面一般填属性方法,属性名的话一般是接口名,比如如上例题。(2)BrakBhavior
图二 发现接口只有一个方法BrakeBehavior被用了,出现这种情况就需要自己点访问了,所以第三空是wheel.stop()


ShortWheelCar继承car,拥有父类car所有属性和行为

在这里插入图片描述

第四空上面是一个构造函数,因为有继承关系猜测出,他肯定是想拥有父类的car中的方法的,由代码中看出他没有自己new所以肯定是传过来了,所以这空就是wheel=behavior,为什么是behavior是因为构造的


在这里插入图片描述

总结:接口都要被类实现 一般是类的后面都会带接口的代码
在类中,一般有构造方法,属性一般方法。一般构造方法在前
属性看跟谁关联,一般填接口 不要填实现,接口也就是父子图的父类的
空心的箭头都是实现,所以一般用不到空心箭头里的

在这里插入图片描述

上图第二问,一般空出来就是让填属性的代码,属性一般是类型所以直接填接口的方法
抽象的方法可以不实现,也可以实现,抽象方法要点的直接点对象 比如上面例题汽车


在这里插入图片描述
在这里插入图片描述

如上题解释,类下面的代码实现。对observer进行方法的调用,已知他只有一个方法,所以后面肯定是,obs.(updata)
图二圈起来的就是调用的方法

如果遇到最后一题需要点的可以代码中找找有没有点过了 点过了直接排除。但是如果点中有Attach一般点这个,要不要加this取决于,点操作是不是当前类内部实现的


做题技巧一般代码中带有extends的就是抽象类

在这里插入图片描述

在这里插入图片描述


22年上半年题

在这里插入图片描述

第一问思路:返回结果是一个类型Memento 也没有参数传进去这种一般就是需要new一个,new Memento(state)为什么又state因为Memento这个类里构造方法,正好Originator也有个属性state


第二问找关键字
在这里插入图片描述


在这里插入图片描述

方法下面对应实现。实现里又add 所以需要现在方法实现才能用void add()。实现里还有个(state)他从哪里来的。查看上文发现在Memento里 所以这空是void add(Memento state)


在这里插入图片描述

在这里插入图片描述

根据第三空add后面传了Memento 第五空所以也需要Memento相关,发现它里面没有,但是发现有个savetomemento它会返回个memento,也就是它调用了originator属性,她就可以得到mementos

2016年题

在这里插入图片描述

属性的方法可由构造方法得出


在这里插入图片描述


在这里插入图片描述

先看5。根据上下文看到下面有tsetDuch(addrAdapter)需要addrAdapter实现正好少了这个写的时候需要根据最上面的主类,也就是圈起来的 等号后面需要把构造方法(下图圈起来的)也传进去也就是=号后的
在这里插入图片描述

(addr)空号里填自己的类里的

试题四

在这里插入图片描述

动态规划法自顶向下是递归,自低向上是for循环嵌套
在这里插入图片描述

命令模式

在这里插入图片描述
在这里插入图片描述

访问者

在这里插入图片描述
在这里插入图片描述
第三问选那个接受是因为这是个访问者模式肯定要接受

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2019下半年下午试题软件设计师C主要分为两部分,理论题和实践题。 理论题: 理论题部分主要测试考生对软件设计的理解和掌握。题目内容可能涉及软件开发生命周期、设计模式、软件架构、数据库设计等方面的知识。考生需要对该领域的基本概念、方法和原则有着较为全面的掌握,并能够灵活运用于具体问题中。 实践题: 实践题部分主要考察考生的编程能力和解决问题的能力。题目通常会给出一个具体的情景或需求,考生需要根据题目要求进行分析和设计,并使用合适的编程语言进行实现。这一部分重点考察考生的逻辑思维、编码规范和代码质量,同时也需要考生具备良好的调试和错误处理能力。 总体来说,软件设计师C考试要求考生具备扎实的软件设计理论基础和较强的实践能力。考生需要了解软件开发的各个环节,并能够将理论知识应用于具体的软件设计和开发过程中。此外,考生还需要具备良好的学习和动手能力,不断学习新的技术和方法,并能够以创新的思维解决实际问题。 为了更好地应对考试,考生可以通过参加培训课程、阅读相关教材和参考书籍、多做实践练习等方式进行复习和准备。同时,培养良好的编程习惯和团队协作能力也是非常重要的。只有不断提升自己的能力和素质,才能在考试中取得好的成绩。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值