讲解:CPI 221、Java、program、JavaPython|C/C++

CPI 221 – Midterm Exam – Spring 2020Name:Complete all 7 Pages. Each page is worth 8 points.Extra +4: 1) Object Oriented PrinciplesA) List and describe the Four Pillars of Object Orientation:B) Explain the principle of “proper isolation of responsibility” and construct an example of how it would be used in developing software:C) Compare and contrast the ideas of Loose and Tight coupling:2) OOP and JavaA) What is an Abstract Base Class in OOP?B) How does an Interface such as Comparable differ from an Abstract Base Class in Java?C) Explain a Static method and give an example from Java’s own libraries:D) What is a Design Pattern and why should we use them?E) Describe the Factory Design Pattern and explain the advantages that Factory Patterns offers the programmer:3) Thinking about OOP In homework we created a Procedural Generation in two different approaches. First we created an inheritance & polymorphism chain (building a city); second we used a single Terrain class and a static factory to build our simulation.Assess and defend each approach in terms of which approach was better for:Extensibility – which software could be expanded easily and safely? IE what if I want to add new features to the simulation?Maintainability – which could be understood and repaired easily by another team?4) Applied OOP DesignKinda Real Wrestling (KRW) has approached your software company to create a new product to interact with their fans. KRW tracks each wrestler’s wins and losses during each season. Winning matches and special stipulations in different match-types give the wrestler points. These points raise their standing in their division. The top point carrier can challenge the champion once a month but loses 10 points if they fail. KRW wans fans to be able to create an account and play a fantasy wrestling league. Fans with an account can create 4 groups/stables of wrestlers: three, 3-wrestler stables (one for each division) and a single 6-wrestler stable for company-wide performance (which takes into consideration non-division matches and so on). Fans’ stables are scored based on their wrestler’s performances similar to Fantasy Football. Fans’ stables are shown in the rankings and a history of their wrestlers’ performance.Design the Object Oriented infrastructure to fulfill this customer’s needs. Describe/Illustrate the classes, inheritance and polymorphism. 5) File I/OA) Compare and contrast InputStream/OutputStream based file CPI 221作业代做、代写Java语言作业、program课程作业代做、Java程序设计作业调试 代写Python编程I/O to Scanner/Printwriter based file I/O:B) Discuss Serialization, what is it? What are the processes and features? What is the function of the keyword Transient? 6) Using a Doubly Linked List that only stores integersWith the following interface: addToFront(int), addToEnd(int), boolean contains(int), removeFromFront(), removeFromEnd(), boolean isEmpty(), int size() and head, tail and current.Write the following algorithms:A) void InsertBeforeCurrent(int value)B) boolean LeastToGreatest_SortedInsert(int value) – return false if the operation can’t be doneC) void ThereCanBeOnlyOne(int value) – If value doesn’t exist in the list, add it. If it does exist, delete any duplicates in the list leaving only one copy.7) Data Structures - Stack, Queue, etc.A) If we are implementing a Stack and Queue from a Linked List, identify the standard Linked List methods that we would rename as the stack/queue methods:void Push(T value) void Pop() void Enqueue(T value) void Dequeue() B) Suppose that we have a Stack s and Queue t. Show the contents of both stacks after each of the following statements: (draw the stacks left to right, bottoms on left) Top Fronts.push(5); s: t:t.enqueue(7); s: t:s.push(9); s: t:t.enqueue(0); s: t:t.enqueue(s.pop()); s: t:s.push(s.peek()); s: t:s.push(t.dequeue()); s: t:s.push(t.dequeue()); s: t:t.enqueue(s.peek()); s: t:Extra Credit) The Problem with Pizza and StarbucksAfter spring break we will be looking at an OOP Design Pattern called a Decorator Pattern. One of its goals is to deal with problematic data sets. You do not need to read ahead to answer this question. This is an ‘evaluation and reasoning’ question.Think about this problem:“You are a software developer and a local Pizza company has approached you to develop an application that allows its customers to order custom pizzas. The company offers 14-inch and 18-inch pizzas and the customer is allowed up to 10 toppings on the pizza in any combination (but no partial toppings). Yes that can mean 10xPeperoni. The chain offers 10 toppings. Cheese and sauce come as default ingredients, but extra can be added as a topping.” What makes this software challenging to write? Explain why basic Object Orientation falters with this kind of software. Put yourself into the mindset of the developer and ask yourself questions like “could I maintain this software? What if the client adds another topping? Etc.”转自:http://www.3zuoye.com/contents/9/4843.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 今天坐早上的火车、地铁赶回来上课伯克利校长果然帅我是教技小花儿下午英语课韩老师说要多跟其他院系的同学交流于是晚上我...
    dq920813阅读 261评论 0赞 0
  • 他的情感在童年受到了严重的受伤,他在情绪的黑暗中生存了下来…… 这个过程很艰难,以至于他对世界的看法是扭曲的,他走...
    明莹阅读 402评论 0赞 0
  • 1.关键词:找准时机 今日感悟:俗话说:天时不如地利,地利不如人和。在与人交流的过程中,我们也需要找准时机。就像文...
    此行为知女阅读 101评论 0赞 0
  • 四年级王腾 一年暑假,我准备到黄河游玩。下车后我看见车站上空有几朵白云在飘浮,路边的花草和的头顶...
    芝兰幽香阅读 267评论 1赞 2
  • 黑暗匍匐在大地上 此时万籁俱寂 对声音的捕捉更加敏感 像一只夜行动物 警惕着黑暗中的其他眼睛 光在黑暗的裂隙里晃动...
    ac956ac443e8阅读 192评论 0赞 3

友情链接更多精彩内容