CS 215 Software Design Sample Midterm Questions
|
|
- Harry Williamson
- 6 years ago
- Views:
Transcription
1 Software Design 1. The administration at Happy Valley School District is redesigning the software that manages information about its students. It has identified an abstract class Student, with two subclasses: ElementaryStudent and MiddleSchoolStudent. MiddleSchoolStudent has a subclass called HighSchoolStudent. The basic organization of these classes is shown below. public abstract class Student { private String name; public class ElementaryStudent extends Student { // This array would have one entry for each year of elementary school // identifying the student s primary teacher private Teacher[] teachers; public class MiddleSchoolStudent extends Student { // All students take the 5 subjects shown below. This remembers who // taught each of those subjects in each year. private Teacher[] mathteacher; private Teacher[] englishteacher; private Teacher[] scienceteacher; private Teacher[] historyteacher; private Teacher[] languageteacher; public class HighSchoolStudent extends MiddleSchoolStudent { // In addition to the subjects in middle school, high school students // can take electives. We need to remember those teachers, too. private Teacher[] elective1teacher; private Teacher[] elective2teacher; private Teacher[] elective3teacher; Suggest another way that this information could be represented and explain what the advantages of your solution are. There is obviously a lot more information that you would want in such a system, but you should not concern yourself with that. Your redesign should keep the same basic information: which teachers did a student have, for which subjects and in which years. In particular, you do not need to model courses, grades, semesters, etc.!1
2 2. Please explain when each of the following ways of writing a method in a superclass and overriding it in a subclass are appropriate. When it says // Code here or // More code here, it means there would be actual code, not just the comment that I show. a. class Superclass { // Code here class Subclass extends Superclass { super.m(); // More code here b. class Superclass { // Code here class Subclass extends Superclass { super.m();!2
3 c. class Superclass { // Code here class Subclass extends Superclass { d. class Superclass { class Subclass extends Superclass { super.m(); // More code here e. class Superclass { public abstract void m(); class Subclass extends Superclass { super.m(); // More code here 3. The following questions concern preconditions, postconditions and inheritance. a. For the following class and its description, identify the preconditions and postconditions of the constructor and each method. public Counter() // Initializes a counter to 0 public int getvalue () // Returns the value of the counter public void increment () // Increases the value of the counter by 1 b. Consider the following subclass of Counter, called Counter2. Identify the preconditions and postconditions of its constructor and methods. Does Counter2 follow the rules about how preconditions and postconditions should change when sub typing? Why or why not? public Counter2() // Initializes a counter to 0 public void increment () // Doubles the value of the counter c. Consider the following subclass of Counter, called Counter3. Identify the preconditions and postconditions of its constructor and methods. Does Counter3 follow the rules about how preconditions and postconditions should change when sub typing? Why or why not? public Counter3() // Initializes a counter to 0 public void increment (int n) // If n > 0, adds n to the value of the // counter!3
4 4. Take a look at the Java API for Stack available online at 8/docs/api/. a. What problems do you see with where Stack is placed in Java s type hierarchy? b. Suggest an alternative design that avoids these problems. c. Discuss your alternative design. What are the advantages and disadvantages of your proposal compared to what Java provides? 5. A Date class consists of the following: public class Date { private int month; private int day; private int year; public Date (int month, int day, int year) { this.month = month; this.day = day; this.year = year; public void adddays (int numdays) { public boolean isleapyear () { a. Describe in English the class invariants for this class. b. Write a wellformed method to check the class invariants. c. What are the preconditions and postconditions for the constructor, adddays and isleapyear methods? d. If you wanted Date objects to be immutable, what would you change about the design above and your answers to the previous parts of this question? e. What are the advantages or disadvantages to having immutable Date objects?!4
5 6. Each of the following has a design flaw. Discuss what the flaw is and suggest a way to remove the flaw. a. public class KeypadLock { private int[] secretcode; public KeyPadLock(int[] code) { secretcode = code; public boolean checkcode (int[] code) { return Arrays.equals(secretCode, code); b. Employee -name -address HourlyEmployee - hourlyrate SalariedEmployee - annualsalary Retired c. public class DailySales { private ArrayList<Sale> sales; // Assume sales is appropriately set. public int totalsales () { int total = 0; for (Sale s : sales) { Payment payment = s.getpayment(); total = total + payment.getamount(); return total;!5
6 7. For each of the examples below indicate if this is a good use of inheritance or not. If it is not, briefly explain why not and what would be a better way to model the relationship between the classes. a. (3 points) An airplane has a model (like Boeing 747) and belongs to an airline. A flight has a starting and destination airport and a flight number and requires the use of an airplane. Should Flight be modeled as a subclass of Airplane? b. (3 points) An academic department has many types of employees including teaching assistants and faculty, with one designated faculty member who is the chair of the department. Should Chair be a subtype of Faculty? c. (3 points) A textbook is a book that has questions at the end of each chapter. Should Textbook be a subtype of Book? d. (3 points) A list is an ordered collection of values. An immutable list is a list whose values cannot change after the list is created. Should ImmutableList be a subclass of List? e. (3 points) Snickers is the name of my dog. Should Snickers be a subclass of Dog?!6
7 8. Answer the questions below about this UML class diagram. «abstract» BankAccount int balance deposit (int amount) withdraw (int amount) + Customer String name String address openaccount () closeaccount (Account act) CheckingAccount int insufficientfundsfee processcheck (Check c) SavingsAccount double interestrate depositinterest() a. (1 point) What are the names of the methods that can be called on any BankAccount? b. (1 point) What are the names of all the methods that can be called on a CheckingAccount? c. (1 point) How many Customers can be associated with a BankAccount? d. (1 point) How many BankAccounts can a Customer have? e. (1 point) Would the following statement be legal, assuming the constructor exists and the variable cust has type Customer? BankAccount acct = new CheckingAccount (cust);!7
8 f. (5 points) How would you change the design so that a married couple could share a BankAccount? Draw the revised UML diagram.!8
9 9. In Java s Collection interface, the add method is described as follows: boolean add(e e) Ensures that this collection contains the specified element. Returns true if this collection changed as a result of the call. Parameters: e - element whose presence in this collection is to be ensured Returns: true if this collection changed as a result of the call a. (2 points) What are the preconditions of Collection s add method? b. (2 points) What are the postconditions of Collection s add method? The List interface extends Collection. Its add method is describe as follows: boolean add(e e) Appends the specified element to the end of this list. Parameters: e - element to be appended to this list Returns: true c. (2 points) What are the preconditions of List s add method? d. (2 points) What are the postconditions of List s add method?!9
10 e. (2 points) Does List strengthen, weaken or not change Collection s precondition for add? f. (2 points) Does List strengthen, weaken or not change Collection s postcondition for add?!10
11 10.I would like you to reason about how Liskov s Substitution Principle helps us understand the subtyping rules associated with generics. The ArrayList class implements the List interface. For this question, focus on the behavior of the get and set methods in the List interface: Interface List<E> E get(int index) Returns the element at the specified position in this list. E set(int index, E element) Replaces the element at the specified position in this list with the specified element a. (2 points) Assuming that Java allows ArrayList<String> to be treated as a subtype of List<String>, does using List and ArrayList in the following way satisfy Liskov s Substitution Principle? Briefly explain your answer. List<String> mylist = new ArrayList<String>(); b. (2 points) Assuming that Java allows ArrayList<String> to be treated as a subtype of ArrayList<Object>, does using ArrayList in the following way satisfy Liskov s Substitution Principle? Briefly explain your answer. ArrayList<Object> mylist = new ArrayList<String>();!11
CS 215 Software Design Sample midterm solutions
Software Design Sample midterm solutions 1. The administration at Happy Valley School District is redesigning the software that manages information about its students. It has identified an abstract class
More informationIntro to Computer Science 2. Inheritance
Intro to Computer Science 2 Inheritance Admin Questions? Quizzes Midterm Exam Announcement Inheritance Inheritance Specializing a class Inheritance Just as In science we have inheritance and specialization
More informationEnhanced Entity- Relationship Models (EER)
Enhanced Entity- Relationship Models (EER) LECTURE 3 Dr. Philipp Leitner philipp.leitner@chalmers.se @xleitix LECTURE 3 Covers Small part of Chapter 3 Chapter 4 Please read this up until next lecture!
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(a): Abstract Classes Lecture Contents 2 Abstract base classes Concrete classes Dr. Amal Khalifa, 2014 Abstract Classes and Methods
More informationIntroduction to Inheritance
Introduction to Inheritance James Brucker These slides cover only the basics of inheritance. What is Inheritance? One class incorporates all the attributes and behavior from another class -- it inherits
More informationCPS122 Lecture: Encapsulation, Inheritance, and Polymorphism
Objectives: CPS122 Lecture: Encapsulation, Inheritance, and Polymorphism Last revised January 23, 2015 1. To review the basic concept of inheritance 2. To introduce Polymorphism. 3. To introduce the notions
More informationType Hierarchy. Lecture 6: OOP, autumn 2003
Type Hierarchy Lecture 6: OOP, autumn 2003 The idea Many types have common behavior => type families share common behavior organized into a hierarchy Most common on the top - supertypes Most specific at
More informationOO Design Principles
OO Design Principles Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-10-10 Roman Kern (ISDS, TU Graz) OO Design Principles 2018-10-10 1 /
More informationInheritance (Part 2) Notes Chapter 6
Inheritance (Part 2) Notes Chapter 6 1 Object Dog extends Object Dog PureBreed extends Dog PureBreed Mix BloodHound Komondor... Komondor extends PureBreed 2 Implementing Inheritance suppose you want to
More informationpublic UndergradStudent(String n, String m, String p) { programme = p; super(n, m);
Tutorial 3: Inheritance Part A Topic: Inheritance 1. Consider the following class definition. class Student { private String name; private String matric_no; a. Write the definition of an empty class named
More informationAssignment 2 - Specifications and Modeling
Assignment 2 - Specifications and Modeling Exercise 1 A way to document the code is to use contracts. For this exercise, you will have to consider: preconditions: the conditions the caller of a method
More informationCSE 331 Final Exam 3/16/15 Sample Solution
Question 1. (12 points, 3 each) A short design exercise. Suppose Java did not include a Set class in the standard library and we need to store a set of Strings for an application. We know that the maximum
More informationCS 110 Practice Final Exam originally from Winter, Instructions: closed books, closed notes, open minds, 3 hour time limit.
Name CS 110 Practice Final Exam originally from Winter, 2003 Instructions: closed books, closed notes, open minds, 3 hour time limit. There are 4 sections for a total of 49 points. Part I: Basic Concepts,
More informationCSSE 220 Day 15. Inheritance. Check out DiscountSubclasses from SVN
CSSE 220 Day 15 Inheritance Check out DiscountSubclasses from SVN Discount Subclasses Work in pairs First look at my solution and understand how it works Then draw a UML diagram of it DiscountSubclasses
More informationCHAPTER 10 INHERITANCE
CHAPTER 10 INHERITANCE Inheritance Inheritance: extend classes by adding or redefining methods, and adding instance fields Example: Savings account = bank account with interest class SavingsAccount extends
More informationWhen the above code runs, which type s execute method will be run? When the above code runs, which type s execute method will be run?
Q1) [4 marks] Type Hierarchy, Polymorphism, Dispatch: Use the type hierarchy given below to answer the questions. Remember that if a method appears in a subclass that has the same signature as a method
More informationInheritance Advanced Programming ICOM 4015 Lecture 11 Reading: Java Concepts Chapter 13
Inheritance Advanced Programming ICOM 4015 Lecture 11 Reading: Java Concepts Chapter 13 Fall 2006 Adapted from Java Concepts Companion Slides 1 Chapter Goals To learn about inheritance To understand how
More informationIntroduction to Object-Oriented Programming
Polymorphism 1 / 19 Introduction to Object-Oriented Programming Today we ll learn how to combine all the elements of object-oriented programming in the design of a program that handles a company payroll.
More informationWhy Design by Contract! CS 619 Introduction to OO Design and Development. Design by Contract. Fall 2012
Why Design by Contract What s the difference with Testing? CS 619 Introduction to OO Design and Development Design by Contract Fall 2012 Testing tries to diagnose (and cure) defects after the facts. Design
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Packages and Polymorphism. toad Fall 2012
Principles of Software Construction: Objects, Design and Concurrency Packages and Polymorphism 15-214 toad Fall 2012 Jonathan Aldrich Charlie Garrod School of Computer Science 2012 C Garrod, J Aldrich,
More informationExample: Count of Points
Example: Count of Points 1 class Point { 2... 3 private static int numofpoints = 0; 4 5 Point() { 6 numofpoints++; 7 } 8 9 Point(int x, int y) { 10 this(); // calling the constructor with no input argument;
More informationObject-oriented basics. Object Class vs object Inheritance Overloading Interface
Object-oriented basics Object Class vs object Inheritance Overloading Interface 1 The object concept Object Encapsulation abstraction Entity with state and behaviour state -> variables behaviour -> methods
More informationAssertions. Assertions - Example
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 11/13/2003 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More informationJAVA MOCK TEST JAVA MOCK TEST II
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
More informationHAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A.
HAS-A Relationship Association is a weak relationship where all objects have their own lifetime and there is no ownership. For example, teacher student; doctor patient. If A uses B, then it is an aggregation,
More informationName Return type Argument list. Then the new method is said to override the old one. So, what is the objective of subclass?
1. Overriding Methods A subclass can modify behavior inherited from a parent class. A subclass can create a method with different functionality than the parent s method but with the same: Name Return type
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency An Introduction to Object-oriented Programming, Continued. Modules and Inheritance Spring 2014 Charlie Garrod Christian Kästner School
More informationEECS2030 Week 7 worksheet Tue Feb 28, 2017
1. Interfaces The Comparator interface provides a way to control how a sort method (such as Collections.sort) sorts elements of a collection. For example, the following main method sorts a list of strings
More informationHandout 9 OO Inheritance.
Handout 9 CS603 Object-Oriented Programming Fall 2016 Page 1 of 11 Handout 9 OO Inheritance. All classes in Java form a hierarchy. The top of the hierarchy is class Object Example: classicalarchives.com
More informationChapter Goals. Chapter 9 Inheritance. Inheritance Hierarchies. Inheritance Hierarchies. Set of classes can form an inheritance hierarchy
Chapter Goals To learn about inheritance To understand how to inherit and override superclass methods To be able to invoke superclass constructors To learn about protected and package access control To
More informationType Hierarchy. Comp-303 : Programming Techniques Lecture 9. Alexandre Denault Computer Science McGill University Winter 2004
Type Hierarchy Comp-303 : Programming Techniques Lecture 9 Alexandre Denault Computer Science McGill University Winter 2004 February 16, 2004 Lecture 9 Comp 303 : Programming Techniques Page 1 Last lecture...
More informationContracts. Dr. C. Constantinides. June 5, Department of Computer Science and Software Engineering Concordia University Montreal, Canada 1/71
Contracts Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada June 5, 2018 1/71 Contracts in human affairs In human affairs we form legally
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationEXAM Computer Science 1 Part 1
Maastricht University Faculty of Humanities and Science Department of Knowledge Engineering EXAM Computer Science 1 Part 1 Block 1.1: Computer Science 1 Code: KEN1120 Examiner: Kurt Driessens Date: Januari
More informationCMSC 433 Section 0101 Fall 2012 Midterm Exam #1
Name: CMSC 433 Section 0101 Fall 2012 Midterm Exam #1 Directions: Test is closed book, closed notes. Answer every question; write solutions in spaces provided. Use backs of pages for scratch work. Good
More informationInheritance (P1 2006/2007)
Inheritance (P1 2006/2007) Fernando Brito e Abreu (fba@di.fct.unl.pt) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) Chapter Goals To learn about
More informationCS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class
CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount
More informationObject Oriented Programming COP3330 / CGS5409
Object Oriented Programming COP3330 / CGS5409 Inheritance Assignment 5 Many types of classes that we create can have similarities. Useful to take advantage of the objectoriented programming technique known
More informationPrinciples of Software Construction: Objects, Design, and Concurrency. Part 1: Designing Classes. Design for Reuse School of Computer Science
Principles of Software Construction: Objects, Design, and Concurrency Part 1: Designing Classes Design for Reuse Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia HW2 due Thursday
More informationFirst IS-A Relationship: Inheritance
First IS-A Relationship: Inheritance The relationships among Java classes form class hierarchy. We can define new classes by inheriting commonly used states and behaviors from predefined classes. A class
More informationUNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED
UNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED EXERCISE 11.1 1. static public final int DEFAULT_NUM_SCORES = 3; 2. Java allocates a separate set of memory cells in each instance
More informationCS 2102 Exam 1 D-Term 2014
NAME: SECTION: CS 2102 Exam 1 D-Term 2014 Question 1: (10) Question 2: (5) Question 3: (15) Question 4: (20) Question 5: (30) Question 6: (20) TOTAL: (100) 1 1. (10 points) Given below are two of the axioms
More informationExam Duration: 2hrs and 30min Software Design
Exam Duration: 2hrs and 30min. 433-254 Software Design Section A Multiple Choice (This sample paper has less questions than the exam paper The exam paper will have 25 Multiple Choice questions.) 1. Which
More informationIndex. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107
A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105
More informationInheritance: Definition
Inheritance 1 Inheritance: Definition inheritance: a parent-child relationship between classes allows sharing of the behavior of the parent class into its child classes one of the major benefits of object-oriented
More informationClass-level reuse with inheritance Behavioral subtyping
Principles of Software Construction: Objects, Design, and Concurrency (Part 1: Designing Classes) Class-level reuse with inheritance Behavioral subtyping Charlie Garrod Bogdan Vasilescu School of Computer
More informationSelf-review Questions
7Class Relationships 106 Chapter 7: Class Relationships Self-review Questions 7.1 How is association between classes implemented? An association between two classes is realized as a link between instance
More informationReferences: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More informationObject-Oriented Design I - SOLID
Object-Oriented Design I - SOLID SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Single responsibility Open/close Liskov substitution
More informationInheritance. Inheritance
1 2 1 is a mechanism for enhancing existing classes. It allows to extend the description of an existing class by adding new attributes and new methods. For example: class ColoredRectangle extends Rectangle
More informationMore Relationships Between Classes
More Relationships Between Classes Inheritance: passing down states and behaviors from the parents to their children Interfaces: grouping the methods, which belongs to some classes, as an interface to
More informationCS 215 Software Design Homework 3 Due: February 28, 11:30 PM
CS 215 Software Design Homework 3 Due: February 28, 11:30 PM Objectives Specifying and checking class invariants Writing an abstract class Writing an immutable class Background Polynomials are a common
More informationAdvanced JML Erik Poll Radboud University Nijmegen
JML p.1/23 Advanced JML Erik Poll Radboud University Nijmegen JML p.2/23 Core JML Remember the core JML keywords were requires ensures signals invariant non null pure \old, \forall, \result JML p.3/23
More informationCSE 331 Midterm Exam Sample Solution 2/18/15
Question 1. (10 points) (Forward reasoning) Using forward reasoning, write an assertion in each blank space indicating what is known about the program state at that point, given the precondition and the
More informationInheritance and Substitution (Budd chapter 8, 10)
Inheritance and Substitution (Budd chapter 8, 10) 1 2 Plan The meaning of inheritance The syntax used to describe inheritance and overriding The idea of substitution of a child class for a parent The various
More informationMore About Objects. Zheng-Liang Lu Java Programming 255 / 282
More About Objects Inheritance: passing down states and behaviors from the parents to their children. Interfaces: requiring objects for the demanding methods which are exposed to the outside world. Polymorphism
More informationInheritance (Deitel chapter 9)
Inheritance (Deitel chapter 9) 1 2 Plan Introduction Superclasses and Subclasses protected Members Constructors and Finalizers in Subclasses Software Engineering with Inheritance 3 Introduction Inheritance
More informationStudent Performance Q&A:
Student Performance Q&A: 2004 AP Computer Science A Free-Response Questions The following comments on the 2004 free-response questions for AP Computer Science A were written by the Chief Reader, Chris
More informationInheritance and Subclasses
Software and Programming I Inheritance and Subclasses Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Packages Inheritance Polymorphism Sections 9.1 9.4 slides are available at www.dcs.bbk.ac.uk/
More informationPrinciples of Software Construction: Objects, Design, and Concurrency (Part 1: Designing Classes) Design for Reuse (class level)
Principles of Software Construction: Objects, Design, and Concurrency (Part 1: Designing Classes) Design for Reuse (class level) Christian Kästner Bogdan Vasilescu School of Computer Science 1 Administrivia
More informationTopic 7: Inheritance. Reading: JBD Sections CMPS 12A Winter 2009 UCSC
Topic 7: Inheritance Reading: JBD Sections 7.1-7.6 1 A Quick Review of Objects and Classes! An object is an abstraction that models some thing or process! Examples of objects:! Students, Teachers, Classes,
More informationCPS122 Lecture: Detailed Design and Implementation
CPS122 Lecture: Detailed Design and Implementation Objectives: Last revised March 3, 2017 1. To introduce the use of a complete UML class box to document the name, attributes, and methods of a class 2.
More informationJava Puzzle Ball Nick Ristuccia
Java Puzzle Ball Nick Ristuccia Lesson 2-3 Editing Java Code You've seen Static Variables Red Bumpers start with an orientation of 0. public class RedBumper { private static Color color = Color.RED; private
More informationFinal Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format
Final Exam Final Exam Review CS 4354 Fall 2012 Jill Seaman Friday, December 14, 11AM Closed book, closed notes, clean desk Content: Textbook: Chapters 1, 2, 4-10 Java Lectures, GRASP + JUnit 35% of your
More informationInheritance, cont. Notes Chapter 6 and AJ Chapters 7 and 8
Inheritance, cont. Notes Chapter 6 and AJ Chapters 7 and 8 1 Preconditions and Inheritance precondition what the method assumes to be true about the arguments passed to it inheritance (is-a) a subclass
More informationEXAMINATION FOR THE BSC (HONS) INFORMATION TECHNOLOGY; BSC (HONS) INFORMATION SYSTEMS & BSC (HONS) COMPUTER SCIENCE; YEAR 1
FACULTY OF SCIENCE AND TECHNOLOGY EXAMINATION FOR THE BSC (HONS) INFORMATION TECHNOLOGY; BSC (HONS) INFORMATION SYSTEMS & BSC (HONS) COMPUTER SCIENCE; YEAR 1 ACADEMIC SESSION 2014; SEMESTER 2 PRG1203:
More informationCSCI 200 Lab 2 Inheritance, Polymorphism & Data Streams
CSCI 200 Lab 2 Inheritance, Polymorphism & Data Streams In this lab you will write a set of simple Java interfaces and classes that use inheritance and polymorphism. You will also write code that uses
More informationINHERITANCE & POLYMORPHISM. INTRODUCTION IB DP Computer science Standard Level ICS3U. INTRODUCTION IB DP Computer science Standard Level ICS3U
C A N A D I A N I N T E R N A T I O N A L S C H O O L O F H O N G K O N G INHERITANCE & POLYMORPHISM P2 LESSON 12 P2 LESSON 12.1 INTRODUCTION inheritance: OOP allows a programmer to define new classes
More informationPractice Questions for Final Exam: Advanced Java Concepts + Additional Questions from Earlier Parts of the Course
: Advanced Java Concepts + Additional Questions from Earlier Parts of the Course 1. Given the following hierarchy: class Alpha {... class Beta extends Alpha {... class Gamma extends Beta {... In what order
More informationInheritance. Transitivity
Inheritance Classes can be organized in a hierarchical structure based on the concept of inheritance Inheritance The property that instances of a sub-class can access both data and behavior associated
More informationHAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.
HAS-A Relationship Association is a relationship where all objects have their own lifecycle and there is no owner. For example, teacher student Aggregation is a specialized form of association where all
More informationCOMP1008 An overview of Polymorphism, Types, Interfaces and Generics
COMP1008 An overview of Polymorphism, Types, Interfaces and Generics Being Object-Oriented Exploiting the combination of: objects classes encapsulation inheritance dynamic binding polymorphism pluggability
More informationInheritance Motivation
Inheritance Inheritance Motivation Inheritance in Java is achieved through extending classes Inheritance enables: Code re-use Grouping similar code Flexibility to customize Inheritance Concepts Many real-life
More informationLogistics. Final Exam on Friday at 3pm in CHEM 102
Java Review Logistics Final Exam on Friday at 3pm in CHEM 102 What is a class? A class is primarily a description of objects, or instances, of that class A class contains one or more constructors to create
More informationModule Contact: Dr Geoff McKeown, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2015-16 PROGRAMMING 1 CMP-4008Y Time allowed: 2 hours Section A (Attempt all questions: 80 marks) Section B (Attempt one
More informationObject Fundamentals. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 2 08/30/2007
Object Fundamentals Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 2 08/30/2007 1 Lecture Goals Introduce basic concepts, terminology, and notations for object-oriented analysis,
More informationThis week. Tools we will use in making our Data Structure classes: Generic Types Inheritance Abstract Classes and Interfaces
This week Tools we will use in making our Data Structure classes: Generic Types Inheritance Abstract Classes and Interfaces This is a lot of material but we'll be working with these tools the whole semester
More informationAdvanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II
Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Ad hoc-polymorphism Outline Method overloading Sub-type Polymorphism Method overriding Dynamic
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Polymorphism, part 2. toad Fall 2012
Principles of Software Construction: Objects, Design and Concurrency Polymorphism, part 2 15-214 toad Fall 2012 Jonathan Aldrich Charlie Garrod School of Computer Science 2012 C Garrod, J Aldrich, and
More informationChapter 10 Classes Continued. Fundamentals of Java
Chapter 10 Classes Continued Objectives Know when it is appropriate to include class (static) variables and methods in a class. Understand the role of Java interfaces in a software system and define an
More informationUse the scantron sheet to enter the answer to questions (pages 1-6)
Use the scantron sheet to enter the answer to questions 1-100 (pages 1-6) Part I. Mark A for True, B for false. (1 point each) 1. Abstraction allow us to specify an object regardless of how the object
More information8. Polymorphism and Inheritance
8. Polymorphism and Inheritance Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1 Objectives Describe polymorphism and inheritance in general Define interfaces
More informationPROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development
INTRODUCING API DESIGN PRINCIPLES IN CS2 Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 jaime@cs.uno.edu ABSTRACT CS2 provides a great opportunity to teach an
More informationExample: Count of Points
Example: Count of Points 1 public class Point { 2... 3 private static int numofpoints = 0; 4 5 public Point() { 6 numofpoints++; 7 } 8 9 public Point(int x, int y) { 10 this(); // calling Line 5 11 this.x
More informationLINEAR INSERTION SORT
LINEAR INSERTION SORT Textbook (pages 95 03) The term insertion sort refers to an entire category of sorting algorithms which work by successively taking each item in the array and finding its proper position.
More informationPrelim 1. CS 2110, October 1, 2015, 5:30 PM Total Question Name True Short Testing Strings Recursion
Prelim 1 CS 2110, October 1, 2015, 5:30 PM 0 1 2 3 4 5 Total Question Name True Short Testing Strings Recursion False Answer Max 1 20 36 16 15 12 100 Score Grader The exam is closed book and closed notes.
More informationImplementing AddChoice()
Implementing AddChoice() The method will receive three parameters As usual for a class method the self parameter is required The text for the choice A Boolean deno9ng if it is the correct choice or not
More informationCS 520 Theory and Practice of Software Engineering Fall 2018
Today CS 520 Theory and Practice of Software Engineering Fall 2018 Object Oriented (OO) Design Principles September 13, 2018 Code review and (re)design of an MVC application (and encapsulation) Polymorphism
More informationInheritance & Abstract Classes Fall 2018 Margaret Reid-Miller
Inheritance & Abstract Classes 15-121 Margaret Reid-Miller Today Today: Finish circular queues Exercise: Reverse queue values Inheritance Abstract Classes Clone 15-121 (Reid-Miller) 2 Object Oriented Programming
More informationCSE 331 Summer 2017 Final Exam. The exam is closed book and closed electronics. One page of notes is allowed.
Name Solution The exam is closed book and closed electronics. One page of notes is allowed. The exam has 6 regular problems and 1 bonus problem. Only the regular problems will count toward your final exam
More information[ L5P1] Object-Oriented Programming: Advanced Concepts
[ L5P1] Object-Oriented Programming: Advanced Concepts Polymorphism Polymorphism is an important and useful concept in the object-oriented paradigm. Take the example of writing a payroll application for
More informationCSE 331 Software Design and Implementation. Lecture 12 Subtypes and Subclasses
CSE 331 Software Design and Implementation Lecture 12 Subtypes and Subclasses Zach Tatlock / Winter 2016 The Liskov Substitution Principle Let P(x) be a property provable about objects x of type T. Then
More information1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides
1B1b Inheritance Agenda Introduction to inheritance. How Java supports inheritance. Inheritance is a key feature of object-oriented oriented programming. 1 2 Inheritance Models the kind-of or specialisation-of
More informationCSC Inheritance. Fall 2009
CSC 111 - Inheritance Fall 2009 Object Oriented Programming: Inheritance Within object oriented programming, Inheritance is defined as: a mechanism for extending classes by adding variables and methods
More information11/2/09. Code Critique. What goal are we designing to? What is the typical fix for code smells? Refactoring Liskov Substitution Principle
Code Critique Identifying smells Refactoring Liskov Substitution Principle What goal are we designing to? What is the typical fix for code smells? What is a limitation of those fixes? How do we address
More informationInheritance. Lecture 11 COP 3252 Summer May 25, 2017
Inheritance Lecture 11 COP 3252 Summer 2017 May 25, 2017 Subclasses and Superclasses Inheritance is a technique that allows one class to be derived from another. A derived class inherits all of the data
More informationindex.pdf January 21,
index.pdf January 21, 2013 1 ITI 1121. Introduction to Computing II Circle Let s complete the implementation of the class Circle. Marcel Turcotte School of Electrical Engineering and Computer Science Version
More informationCSC Advanced Object Oriented Programming, Spring Specification
CSC 520 - Advanced Object Oriented Programming, Spring 2018 Specification Specification A specification is an unambiguous description of the way the components of the software system should be used and
More informationBloomBank Financial Software Design
BloomBank Financial Software Design CIS 3023 Project 6 Due date: Report on project classes and methods - July 27 th, 200 (Tue) Complete implementation - August 3 rd, 200 (Tue) Problem Statement: You work
More informationEntity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables
Entity-Relationship Modelling Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables 1 Entity Sets A enterprise can be modeled as a collection of: entities, and
More information