# CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions

Size: px
Start display at page:

Download "CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions"

Transcription

1 Name CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions 1. a. (25 points) A rational number is a number that can be represented by a pair of integers a numerator and a denominator. Write a class named Rational that represents rational numbers. The class should support the following state/behavior: A pair of integers, num and den, representing the numerator and denominator A constructor that accepts a pair of integer and uses them to initialize the instance variables. An exception should be thrown if the denominator is 0. A second constructor that accepts a single integer representing a whole number (i.e., with a denominator of 1). For full credit, you must invoke the two-parameter constructor (i.e., use this) A tostring method that returns the string representation num / den (e.g., 3/5), if the denominator is not equal to 1, and num (e.g., 7) otherwise. A Rational-returning method named multiply that accepts a Rational argument and returns a new Rational consisting of the product of the receiver and parameter (both Rationals). (The product of 2 rational numbers is a rational whose numerator is the product of the two numerators, and whose denominator is the product of the two denominators). A Rational-returning method named inverse that accepts no arguments and returns a new Rational representing the inverse (reciprocal) of its (Rational) parameter (i.e., the numerator becomes the new denominator and vice versa). An exception should be thrown if the inverse of 0 is attempted. A boolean-returning method named equals that that accepts a Rational argument and returns whether the receiver and parameter (both Rationals) are equal. (For the purpose of this question, assume two rational numbers are equal if their numerators and denominators are equal, i.e., assume 2/4 is not equal to 1/2). A main method that declares and creates two Rationals, using the two constructors, and illustrates the use of the multiply, inverse, and equals methods (one call to each is sufficient).

2 class Rational { Rational(int n, int d) throws Exception { if (d == 0) throw new Exception("0 denominator"); num = n; denom = d; Rational(int n) throws Exception {this(n, 1); public String tostring() { return denom!= 1? num + "/" + denom : num+""; Rational multiply(rational other) throws Exception { return new Rational(num * other.num, denom * other.denom); Rational inverse() throws Exception { if (num == 0) throw new Exception(""inverse of 0 attempted"); return new Rational(denom,num); boolean equals(rational other) { return num == other.num && denom == other.denom; int num, denom; public static void main(string [] args) throws Exception { Rational r1 = new Rational(3, 4), r2 = new Rational(12); System.out.println(r1 + " " + r2 + " "); System.out.println(r1.multiply(r2)); System.out.println(r1.inverse()); System.out.println(r1.equals(r1)); System.out.println(r1.equals(r2));

3 2. a. (10 points) Write an interface named Shape that specifies the following behavior: an int-returning method named perimeter, that returns the perimeter of a shape a double-returning method name area, that returns the area of a shape an int-returning method named numsides, that returns the number of sides of a shape. interface Shape { int perimeter(); double area(); int numsides(); b. (10 points) Write a class named Triangle that implements Shape with the following: three protected integer variables representing the three sides a constructor that accepts three integers and uses them to initialize the three sides of the triangle the method numsides the method perimeter an abstract method area abstract class Triangle implements Shape { Triangle(int s1, int s2, int s3) { side1 = s1; side2 = s2; side3 = s3; public int perimeter() {return side1 + side2 + side3; public abstract double area(); public int numsides() {return 3; int side1, side2, side3;

4 c. (10 points) Write a subclass of Triangle named EquilateralTriangle with the following: a constructor that accepts a single integer value representing the lengths of the sides the method area the area of an equilateral triangle is 3 4 s2, where s is the side. a tostring method that returns an equilateral triangle with side side, e.g. an equilateral triangle with side 10 class EquilateralTriangle extends Triangle { EquilateralTriangle(int s) {super(s, s, s); public double area() { return (Math.sqrt(3)/4)*(side1*size1); public String tostring() { return "an equilateral triangle with side " + side1;

5 d. (10 points) Suppose we wanted to add the following classes to our Shape hierarchy: IsocelesTriangle, RightTriangle, Rectangle, and Square. IsocelesTriangle and RightTriangle have the same set of methods as EquilateralTriangle, while Rectangle and Square provide all the methods of Shape plus an additional method named diagonal that returns the length of the diagonal. Draw what you think would be the OOPiest class hierarchy (i.e., the hierarchy which most exploits the benefits and of inheritance, polymorphism, etc). Explain your choices (in terms of the relationship between a subclass and superclass). In addition, for Rectangle and Square, please include which methods are implemented by which class. Shape Triangle IsocelesTriangle EquilateralTriangle RightTriangle Rectangle Square Triangle implements Shape IsocelesTriangle is a subclass of Triangle because an isosceles triangle is-a triangle EquilateralTriangle is a subclass of IsocelesTriangle because an equilateral triangle is-a isosceles triangle RightTriangle is a subclass of Triangle because a right triangle is-a triangle Rectangle implements Shape o Rectangle implements all the methods required by Shape Square is a subclass of Rectangle because a square is a rectangle; it inherits all the methods, possibly overriding tostring to provide a more customized value

6 3. Here is a program that assumes the Shape hierarchy of question 2 has been coded and is available (including the additional classes mentioned in part d of that question). class ShapeApp { public static void main(string [] args) { Shape [] shapes = new Shape[3]; shapes[0] = new EquilateralTriangle(3); shapes[1] = new RightTriangle(3, 4); shapes[2] = new Rectangle(3, 4); for (int i = 0; i < shapes.length; i++) { System.out.println(shapes[i].toString()); System.out.println(shapes[i].numSides()); System.out.println(shapes[i].perimeter()); System.out.println(shapes[i].area()); a. (15 points) What is the output of the above program? (use 1.7 for 3 ; also assume the tostring output for Rectangle is analogous to that of the tostring you coded for EquilateralTriangle). an equilateral triangle with side (or anything in the neighborhood) a right triangle with sides 3 and 4(and hypoteneuse 5) a rectangle with sides 3 and

7 b. (15 points) The loop of the program iterates through the array (once for each element, and thus a total of three times), each time calling the methods tostring, numsides, perimeter, and area. For each value of i, and each method, provide the name of the class whose method is being executed. For example, for i = 0, the tostring method called is the one in the EquilateralTriangle class. i = 0 i = 1 i = 2 Class tostring EquilateralTriangle RightTriangle Rectangle numsides Triangle Triangle Rectangle perimeter Triangle Triangle Rectangle area EquilateralTriangle RightTriangle Rectangle c. (5 points) Could we have made a call to diagonal (see part d of question 2) in the loop of the program? Explain your answer. The array is declared to have an element type of Shape. diagonal is not one of the methods specified in the Shape interface and thus would not be recognized by the compiler as one of the methods that may be invoked using an element of the array as the receiver.

### C18a: Abstract Class and Method

CISC 3115 TY3 C18a: Abstract Class and Method Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/31/2018 CUNY Brooklyn College 1 Outline Recap Inheritance and polymorphism Abstract

### Inheritance and Polymorphism

Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg

### Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

### Object Oriented Design: Building a Fraction Class

Object Oriented Design: Building a Fraction Class http://www.zazzle.com/fraction+tshirts Fundamentals of Computer Science Outline Object oriented techniques Constructors Methods that take another object

### CSCI-142 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community

CSCI-12 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community http://csc.cs.rit.edu 1. Provide a detailed explanation of what the following code does: 1 public boolean checkstring

### Abstract Classes. Abstract Classes a and Interfaces. Class Shape Hierarchy. Problem AND Requirements. Abstract Classes.

a and Interfaces Class Shape Hierarchy Consider the following class hierarchy Shape Circle Square Problem AND Requirements Suppose that in order to exploit polymorphism, we specify that 2-D objects must

### More About Classes CS 1025 Computer Science Fundamentals I Stephen M. Watt University of Western Ontario

More About Classes CS 1025 Computer Science Fundamentals I Stephen M. Watt University of Western Ontario The Story So Far... Classes as collections of fields and methods. Methods can access fields, and

### Java and OOP. Part 3 Extending classes. OOP in Java : W. Milner 2005 : Slide 1

Java and OOP Part 3 Extending classes OOP in Java : W. Milner 2005 : Slide 1 Inheritance Suppose we want a version of an existing class, which is slightly different from it. We want to avoid starting again

### Inheritance. 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

### Inheritance & Polymorphism Recap. Inheritance & Polymorphism 1

Inheritance & Polymorphism Recap Inheritance & Polymorphism 1 Introduction! Besides composition, another form of reuse is inheritance.! With inheritance, an object can inherit behavior from another object,

Software Paradigms (Lesson 3) Object-Oriented Paradigm (2) Table of Contents 1 Reusing Classes... 2 1.1 Composition... 2 1.2 Inheritance... 4 1.2.1 Extending Classes... 5 1.2.2 Method Overriding... 7 1.2.3

### C a; C b; C e; int c;

CS1130 section 3, Spring 2012: About the Test 1 Purpose of test The purpose of this test is to check your knowledge of OO as implemented in Java. There is nothing innovative, no deep problem solving, no

### F I N A L E X A M I N A T I O N

Faculty Of Computer Studies M257 Putting Java to Work F I N A L E X A M I N A T I O N Number of Exam Pages: (including this cover sheet( Spring 2011 April 4, 2011 ( 5 ) Time Allowed: ( 1.5 ) Hours Student

### Name 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

### Inheritance and Interfaces

Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical

### INHERITANCE. Spring 2019

INHERITANCE Spring 2019 INHERITANCE BASICS Inheritance is a technique that allows one class to be derived from another A derived class inherits all of the data and methods from the original class Suppose

### CO Java SE 8: Fundamentals

CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

### CK-12 Geometry: Similar Polygons

CK-12 Geometry: Similar Polygons Learning Objectives Recognize similar polygons. Identify corresponding angles and sides of similar polygons from a similarity statement. Calculate and apply scale factors.

### Full file at Chapter 2 - Inheritance and Exception Handling

Chapter 2 - Inheritance and Exception Handling TRUE/FALSE 1. The superclass inherits all its properties from the subclass. ANS: F PTS: 1 REF: 76 2. Private members of a superclass can be accessed by a

### CSCI 102L - Data Structures Midterm Exam #1 Fall 2011

Print Your Name: Page 1 of 8 Signature: Aludra Loginname: CSCI 102L - Data Structures Midterm Exam #1 Fall 2011 (10:00am - 11:12am, Wednesday, October 5) Instructor: Bill Cheng Problems Problem #1 (24

### Building a fraction class.

Building a fraction class http://www.zazzle.com/fraction+tshirts CSCI 135: Fundamentals of Computer Science Keith Vertanen Copyright 2013 Overview Object oriented techniques Constructors Methods that take

### Notes on Java Programming IST JAV 2012 S. Frénot

I) Refactoring The next code contains three classes : public abstract class Triangle{ protected int sidea,sideb,sidec; Notes on Java Programming IST JAV 2012 S. Frénot public Triangle(int a, int b, int

### Inheritance (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

### Java Class Design. Eugeny Berkunsky, Computer Science dept., National University of Shipbuilding

Java Class Design Eugeny Berkunsky, Computer Science dept., National University of Shipbuilding eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Objectives Implement encapsulation Implement inheritance

### Arrays Classes & Methods, Inheritance

Course Name: Advanced Java Lecture 4 Topics to be covered Arrays Classes & Methods, Inheritance INTRODUCTION TO ARRAYS The following variable declarations each allocate enough storage to hold one value

### CSC148 Intro. to Computer Science

CSC148 Intro. to Computer Science Lecture 2: designing classes, special methods, managing attributes; intro composition, inheritance Amir H. Chinaei, Summer 2016 Office Hours: R 10 12 BA4222 csc148ta@cdf.toronto.edu

### Inheritance, Polymorphism, and Interfaces

Inheritance, Polymorphism, and Interfaces Chapter 8 Inheritance Basics (ch.8 idea) Inheritance allows programmer to define a general superclass with certain properties (methods, fields/member variables)

### Practice 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

### C# Programming for Developers Course Labs Contents

C# Programming for Developers Course Labs Contents C# Programming for Developers...1 Course Labs Contents...1 Introduction to C#...3 Aims...3 Your First C# Program...3 C# The Basics...5 The Aims...5 Declaring

### Inheritance and Polymorphism

Inheritance and Polymorphism Recitation 10/(16,17)/2008 CS 180 Department of Computer Science, Purdue University Project 5 Due Wed, Oct. 22 at 10 pm. All questions on the class newsgroup. Make use of lab

### Inheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods.

Inheritance Inheritance is the act of deriving a new class from an existing one. Inheritance allows us to extend the functionality of the object. The new class automatically contains some or all methods

### CS 162, Lecture 25: Exam II Review. 30 May 2018

CS 162, Lecture 25: Exam II Review 30 May 2018 True or False Pointers to a base class may be assigned the address of a derived class object. In C++ polymorphism is very difficult to achieve unless you

### CH. 2 OBJECT-ORIENTED PROGRAMMING

CH. 2 OBJECT-ORIENTED PROGRAMMING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OBJECT-ORIENTED

### Polymorphism. Agenda

Polymorphism Lecture 11 Object-Oriented Programming Agenda Classes and Interfaces The Object Class Object References Primitive Assignment Reference Assignment Relationship Between Objects and Object References

### Inheritance (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

### HAS-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 on Objects in JAVA TM

More on Objects in JAVA TM Inheritance : Definition: A subclass is a class that extends another class. A subclass inherits state and behavior from all of its ancestors. The term superclass refers to a

### Midterm Exam 5 April 20, 2015

Midterm Exam 5 April 20, 2015 Name: Section 1: Multiple Choice Questions (24 pts total, 3 pts each) Q1: Which of the following is not a kind of inheritance in C++? a. public. b. private. c. static. d.

### Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

### Polymorphism. return a.doublevalue() + b.doublevalue();

Outline Class hierarchy and inheritance Method overriding or overloading, polymorphism Abstract classes Casting and instanceof/getclass Class Object Exception class hierarchy Some Reminders Interfaces

### Advanced 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

### 1B1b 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

### 1.00 Lecture 13. Inheritance

1.00 Lecture 13 Inheritance Reading for next time: Big Java: sections 10.5-10.6 Inheritance Inheritance allows you to write new classes based on existing (super or base) classes Inherit super class methods

### Java for Non Majors Spring 2018

Java for Non Majors Spring 2018 Final Study Guide The test consists of 1. Multiple choice questions - 15 x 2 = 30 points 2. Given code, find the output - 3 x 5 = 15 points 3. Short answer questions - 3

### Introduction to C++ Introduction to C++ Dr Alex Martin 2013 Slide 1

Introduction to C++ Introduction to C++ Dr Alex Martin 2013 Slide 1 Inheritance Consider a new type Square. Following how we declarations for the Rectangle and Circle classes we could declare it as follows:

### CS-202 Introduction to Object Oriented Programming

CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction

### 25. Generic Programming

25. Generic Programming Java Fall 2009 Instructor: Dr. Masoud Yaghini Generic Programming Outline Polymorphism and Generic Programming Casting Objects and the instanceof Operator The protected Data and

### Introduction. Introduction. Introduction

Finding Classes by Execution from an Object-Oriented Class Library Shaochun Xu Young Park Software Reuse? Why Reuse? Component Retrieval Approaches Information Retrieval Methods Descriptive Methods Operational

### 1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4'

Practice questions: 1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4' 2. Will System.out.println((char)4) display 4? a. Yes b. No 3. The expression "Java

### Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java

### CS1150 Principles of Computer Science Objects and Classes

CS1150 Principles of Computer Science Objects and Classes Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Colorado Springs Object-Oriented Thinking Chapters 1-8

### Relationships Between Real Things CSE 143. Common Relationship Patterns. Employee. Supervisor

CSE 143 Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog Dog

### First 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

### CS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University

CS5000: Foundations of Programming Mingon Kang, PhD Computer Science, Kennesaw State University Inheritance Three main programming mechanisms that constitute object-oriented programming (OOP) Encapsulation

### CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017

CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : An interface defines the list of fields

### More 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

### COS226 - Spring 2018 Class Meeting # 13 March 26, 2018 Inheritance & Polymorphism

COS226 - Spring 2018 Class Meeting # 13 March 26, 2018 Inheritance & Polymorphism Ibrahim Albluwi Composition A GuitarString has a RingBuffer. A MarkovModel has a Symbol Table. A Symbol Table has a Binary

### Exam 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

### Relationships Between Real Things. CSE 143 Java. Common Relationship Patterns. Composition: "has a" CSE143 Sp Student.

CSE 143 Java Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches

### Relationships Between Real Things CSC 143. Common Relationship Patterns. Composition: "has a" CSC Employee. Supervisor

CSC 143 Object & Class Relationships Inheritance Reading: Ch. 10, 11 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog

### Inheritance and object compatibility

Inheritance and object compatibility Object type compatibility An instance of a subclass can be used instead of an instance of the superclass, but not the other way around Examples: reference/pointer can

### CS 1331 Fall 2016 Exam 2

CS 1331 Fall 2016 Exam 2 Fall 2016 Name (print clearly): GT account (gpburdell1, msmith3, etc): Section (e.g., B1): Signature: Failure to properly fill in the information on this page will result in a

### Polymorphism and Interfaces. CGS 3416 Spring 2018

Polymorphism and Interfaces CGS 3416 Spring 2018 Polymorphism and Dynamic Binding If a piece of code is designed to work with an object of type X, it will also work with an object of a class type that

### Inheritance. OOP: Inheritance 1

Inheritance Reuse Extension and intension Class specialization and class extension Inheritance The protected keyword revisited Inheritance and methods Method redefinition An widely used inheritance example

### Object Oriented Programming 2015/16. Final Exam June 28, 2016

Object Oriented Programming 2015/16 Final Exam June 28, 2016 Directions (read carefully): CLEARLY print your name and ID on every page. The exam contains 8 pages divided into 4 parts. Make sure you have

### Use 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

### Java Fundamentals (II)

Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class

### EECS2030 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

### What can go wrong in a Java program while running?

Exception Handling See https://docs.oracle.com/javase/tutorial/ essential/exceptions/runtime.html See also other resources available on the module webpage This lecture Summary on polymorphism, multiple

### This exam is open book. Each question is worth 3 points.

This exam is open book. Each question is worth 3 points. Page 1 / 15 Page 2 / 15 Page 3 / 12 Page 4 / 18 Page 5 / 15 Page 6 / 9 Page 7 / 12 Page 8 / 6 Total / 100 (maximum is 102) 1. Are you in CS101 or

### BBM 102 Introduction to Programming II Spring Abstract Classes and Interfaces

BBM 102 Introduction to Programming II Spring 2017 Abstract Classes and Interfaces 1 Today Abstract Classes Abstract methods Polymorphism with abstract classes Example project: Payroll System Interfaces

### What is Inheritance?

Inheritance 1 Agenda What is and Why Inheritance? How to derive a sub-class? Object class Constructor calling chain super keyword Overriding methods (most important) Hiding methods Hiding fields Type casting

### Lecture 13. Example. Encapsulation. Rational numbers: a number is rational if it can be defined as the ratio between two integers.

Lecture 13 Example Rational numbers: a number is rational if it can be defined as the ratio between two integers Issues in object-oriented programming The class Rational completed Material from Holmes

### 1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

### Practice Midterm 1. Problem Points Score TOTAL 50

CS 120 Software Design I Spring 2019 Practice Midterm 1 University of Wisconsin - La Crosse February 25 NAME: Do not turn the page until instructed to do so. This booklet contains 10 pages including the

### Recall. Key terms. Review. Encapsulation (by getters, setters, properties) OOP Features. CSC148 Intro. to Computer Science

CSC148 Intro. to Computer Science Lecture 3: designing classes, special methods, composition, inheritance, Stack, Sack Amir H. Chinaei, Summer 2016 Office Hours: R 10-12 BA4222 ahchinaei@cs.toronto.edu

### CISC 3115 TY3. C09a: Inheritance. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 9/20/2018 CUNY Brooklyn College

CISC 3115 TY3 C09a: Inheritance Hui Chen Department of Computer & Information Science CUNY Brooklyn College 9/20/2018 CUNY Brooklyn College 1 Outline Inheritance Superclass/supertype, subclass/subtype

### Class Hierarchy and Interfaces. David Greenstein Monta Vista High School

Class Hierarchy and Interfaces David Greenstein Monta Vista High School Inheritance Inheritance represents the IS-A relationship between objects. an object of a subclass IS-A(n) object of the superclass

### More 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

### Programming via Java Defining classes

Programming via Java Defining classes Our programs so far have used classes, like Turtle and GOval, which were written by other people. In writing larger programs, we often find that another class would

### What s Conformance? Conformance. Conformance and Class Invariants Question: Conformance and Overriding

Conformance Conformance and Class Invariants Same or Better Principle Access Conformance Contract Conformance Signature Conformance Co-, Contra- and No-Variance Overloading and Overriding Inheritance as

### 1.00 Lecture 14. Exercise: Plants

1.00 Lecture 14 Inheritance, part 2 Reading for next time: Big Java: sections 9.1-9.4 Exercise: Plants Create a base class Plant Plant: Private data genus, species, isannual Write the constructor Create

### MODULE 3q - An Extended Java Object

MODULE 3q - An Extended Java Object THE BOX PROGRAM RENAMED Copy the file Box.java to Block.java and then make all the amendments indicated by comments in the program below. The name of the public class

### Object Oriented Programming. Java-Lecture 11 Polymorphism

Object Oriented Programming Java-Lecture 11 Polymorphism Abstract Classes and Methods There will be a situation where you want to develop a design of a class which is common to many classes. Abstract class

### I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone

### ITI Introduction to Computing II

ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 20, 2014 Abstract

### Lecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance?

CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses

### B2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA

B2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE

### Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm } Annotations do not directly affect program semantics.

### Fundamentals of Object Oriented Programming

INDIAN INSTITUTE OF TECHNOLOGY ROORKEE Fundamentals of Object Oriented Programming CSN- 103 Dr. R. Balasubramanian Associate Professor Department of Computer Science and Engineering Indian Institute of

### 15CS45 : OBJECT ORIENTED CONCEPTS

15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?

### Inheritance. 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

### Overview. Lecture 7: Inheritance and GUIs. Inheritance. Example 9/30/2008

Overview Lecture 7: Inheritance and GUIs Written by: Daniel Dalevi Inheritance Subclasses and superclasses Java keywords Interfaces and inheritance The JComponent class Casting The cosmic superclass Object

### Introduction to Classes and Objects. David Greenstein Monta Vista High School

Introduction to Classes and Objects David Greenstein Monta Vista High School Client Class A client class is one that constructs and uses objects of another class. B is a client of A public class A private

### CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers

### CS111: 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

### Session 04 - Object-Oriented Programming 1 Self-Assessment

UC3M Alberto Cortés Martín Systems Programming, 2014-2015 version: 2015-02-06 Session 04 - Object-Oriented Programming 1 Self-Assessment Exercise 1 Rectangles Part 1.A Write a class called Rectangle1 that

### ITI Introduction to Computing II

ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 21, 2013 Abstract