About This Lecture. Data Abstraction - Interfaces and Implementations. Outline. Object Concepts. Object Class, Protocol and State.
|
|
- Elijah James
- 5 years ago
- Views:
Transcription
1 Revised 01/09/05 About This Lecture Slide # 2 Data Abstraction - Interfaces and Implementations In this lecture we will learn how Java objects and classes can be used to build abstract data types. CMPUT Lecture 2 Department of Computing Science University of Alberta \ Some code in this lecture is based on code from the book: Java Structures by Duane A. Bailey or the companion structure package Slide # 3 Slide # 4 Outline Object Concepts Interface Use Implementation Java interfaces Object Concepts An object has: a private state A set of resources that it provides. Let s call this its public protocol Each object is an instance of a class. The class defines the public protocol, so all objects of a class have the same protocol. The state of an object differentiates it from other objects in the same class. Slide # 5 Slide # 6 Object Class, Protocol and State Public protocol external request private private state private state private state public interface state public public interface interface public protocol class In Java, the public protocol of a class includes: The name of the superclass Public variable declarations Public constructor declarations Public message declarations Public static method declarations 1
2 Slide # 7 Slide # 8 Example: Point Class Even before you knew how to write your own classes in CMPUT 114, you could create objects from classes that other people had written You relied on documentation to tell you about the publicly-accessible resources in a class Example - using the Point class in awt package: Interface, Implementation & Use There are three aspects for any class: Protocol: a description of the resources that the class provides. Implementation: the code that describes the private state of instances and implements the computational resources of the class. Use: code in a using class causes new instances of the used class to be created and invokes computations on these instances. We will now investigate these 3 aspects in relation to the Ratio class Protocol - Ratio Class (slide 1) public class Ratio { /* an object for storing a fraction */ public Ratio(int top, int bottom) /* a constructor used to construct a new object */ public int getnumerator() /* post: return the numerator of the fraction */ Slide # 9 Protocol - Ratio Class (slide 2) Slide # 10 public double value() /* post: returns the real value equivalent to ratio */ public Ratio add(ratio other) /* pre: other is non-null post: return new fraction - the sum of this and other */ public int getdenominator() /* post: return the denominator of the fraction */ Slide # 11 Slide # 12 Using classes What can we do with a class once we ve defined it how can we use it? In Java, class A can use class B by: Creating instances of class B. Sending messages to instances of class B. Invoking static methods from class B. Using variables that are declared in class B. Using message arguments that are declared to be of class B. Using the Ratio Class public class SomeClass { public static void main(string[] args) { Ratio r1; Ratio r2; Ratio r3; r1 = new Ratio(3,5); // r1 == 3/5 (0.6) r2 = new Ratio(1,4); // r2 == 1/4 (0.25) r3 = r1.add(r2); // r1 still 3/5, r2 still 1/4 // r3 == 17/20 (0.85) r1 = r1.add(r2); // r1 == 17/20 System.out.println(r1.value()); // 0.85 printed 2
3 Slide # 13 Slide # 14 Implementation In Java, a class implementation includes: Bindings for static variables Declarations of instance variables Static method code Constructor code Instance method code (to handle messages) Implementation - Ratio Class (slide 1) public class Ratio { /* an object for storing a fraction */ protected int numerator; // numerator of ratio protected int denominator; // denominator of ratio public Ratio(int top, int bottom) { /* pre: bottom!= 0 post: constructs a ratio equivalent to top/bottom */ this.numerator = top; this.denominator = bottom; Slide # 15 Slide # 16 Implementation - Ratio Class -2 public int getnumerator() { /* post: return the numerator of the fraction */ return this.numerator; public int getdenominator() { /* post: return the denominator of the fraction */ return this.denominator; Implementation - Ratio Class -3 public double value() { /* post: returns the real value equivalent to ratio */ return (double)this.numerator /(double)this.denominator; public Ratio add(ratio other) { /* pre: other is non-null post: return new fraction - the sum of this and other */ return new Ratio(this.numerator*other.denominator+ this.denominator*other.numerator, this.denominator*other.denominator); Slide # 17 Slide # 18 Java Interfaces For many classes, the protocol and the implementation are in the same file. However, Java has a specific feature called an Interface that can be used to separate the protocol of a class from its implementation Unfortunately, interfaces are not always used! A Java interface contains no code, only message signatures. Benefits of Using Interfaces Java does not allow multiple inheritance: interfaces address this issue Interfaces exploit the concept of type conformance: a type can conform to another if it has the same set of methods (and maybe some extras) These two types don t have to be related by inheritance more freedom! Interfaces allow a class to specify that its instances can be used anywhere that a matching interface is required 3
4 Slide # 19 Slide # 20 Inheritance versus interfaces Inheritance: a subclass shares a common structure and behaviour with its superclass Example Interface - IntRectangle We will now learn how to write and implement an interface. Interface: classes that implement an interface share common behaviours (but not structure) We will write: IntRectangle (the interface) IntRectangleI class (implements IntRectangle interface) IntRectangleP class (implements IntRectangle interface) Java Interface - IntRectangle Slide # 21 Implementing Java Interfaces Slide # 22 public interface IntRectangle { public Point origin(); /* post: returns the Point at the upper left. */ public Point corner(); /* post: returns the Point at the lower right. */ public int height(); /* post: returns the size in the vertical direction. */ public int width(); /* post: returns size in the horizontal direction. */ A Java class is used to implement a Java Interface. The class must provide code for every message in the Java Interface. The class name must be different from the Java Interface name. Slide # 23 Slide # 24 Class - IntRectangleP (slide 1) Class - IntRectangleP (slide 2) public class IntRectangleP implements IntRectangle { protected Point origin; // upper left protected Point corner; // lower right public IntRectangleP (Point startpoint, Point endpoint){ /* post: constructs an IntRectangleP with the given upper left and lower right Points. */ this.origin = startpoint; this.corner = endpoint; public IntRectangleP (int x, int y, int width, int height) { /* post: constructs an IntRectangleP whose upper left point has the given x and y coordinates, the given width in the x direction and the given height in the y direction. */ this.origin = new Point(x, y); this.corner = new Point(x + width, y + height); public Point origin() { /* post: returns the Point at the upper left. */ return this.origin; 4
5 Class - IntRectangleP (slide 3) public Point corner() { /* post: returns the Point at the lower right. */ return this.corner; public int height() { /* post: returns the size in the vertical direction. */ return (this.corner.y - this.origin.y); public int width() { /* post: returns size in the horizontal direction. */ Slide # 25 Slide # 26 Multiple Classes can Implement a Java Interface We can have an arbitrary number of classes that implement the same interface For example, we could have another class that implements the IntRectangle interface, named the IntRectangleI class. return (this.corner.x - this.origin.x); Slide # 27 Slide # 28 Class - IntRectangleI (slide 1) public class IntRectangleI implements IntRectangle { protected int x; // x coord of upper left protected int y; // y coord of upper left protected int width; // size in x direction; protected int height; // size in y direction; public IntRectangleI (Point startpoint, Point endpoint) { /* post: constructs an IntRectangleI with the given upper left and lower right Points. */ this.x = startpoint.x; this.y = startpoint.y; this.width = endpoint.x - this.x; this.height = endpoint.y - this.y; Class - IntRectangleI (slide 2) public IntRectangleI (int x, int y, int width, int height) { /* post: constructs an IntRectangleI whose upper left point has the given x and y coordinates, the given width in the x direction and the given height in the y direction. */ this.x = x; this.y = y; this.width = width; this.height = height; public Point origin() { /* post: returns the Point at the upper left. */ return new Point(this.x, this.y); Class - IntRectangleI (slide 3) public Point corner() { /* post: returns the Point at the lower right. */ return new Point(this.x + this.width, this.y + this.height); public int height() { /* post: returns the size in the vertical direction. */ return this.height; public int width() { /* post: returns size in the horizontal direction. */ return this.width; Slide # 29 Slide # 30 Declaring Variables using Interfaces We can declare variables to be the Interface type, but must create instances of the implementation classes to bind them to. Can t instantiate an interface! Parameters can also be declared to be an Interface type, allowing us to write methods that work for instances of different classes. 5
6 ` ` ` ` _ Slide # 31 Slide # 32 Using IntRectangle Generic method to compute area Public class EgClass { public void main(string args[]) { IntRectangle rectangle; rectangle = new IntRectangleP(new Point(3, 4), new Point(5, 9)); System.out.println(EgClass.area(rectangle)) ; rectangle = new IntRectangleI(3, 4, 2, 5); System.out.println(EgClass.area(rectangle)) ; public static int area(intrectangle r) { /* post: returns the rectangle s area. */ return r.width() * r.height(); r might be bound to an instance of IntRectangleP or to an instance of InRectangleI. Another Example of an Interface Slide # 33 actionperformed( ) Slide # 34 In CMPUT 114 you wrote applets that contained buttons (or other Components), which the user could click on Your applet had a signature like this:! " # $ %& ' ( %) *,+ Only need this last part if your applet is to respond to user s actions (e.g. mouse click, click on button, enter text in text field etc.) The ActionListener interface dictates that every implementing class defines an actionperformed() method if not defined, compiler gives us an error message For example, in class MyClass: -,.0/2143 5"6$7398;:<5 =>3 5=E3 7?I 6$A$?,=JA<K L MNMNMO<O0P Q$R,S;TVU2W2T2XSW,PTZY;T&Q[TVUS\W,P<TV]ZQ<^MZMNM Slide # 35 Slide # 36 How it works For more information When the user clicks a button, the button's action listeners are notified. See the following: 1. view/event.html The button creates an ActionEvent object, reference is passed to listener. This causes the action listener's actionperformed() method to be invoked 2. event/actionlistener.html ActionEvent object contains all information about the event that has occurred you write code that extracts that information and determines what should happen in response to event 3. event/actionevent.html 6
7 Slide # 37 Summary: Interface definition An interface defines a protocol of behavior that can be implemented by any class anywhere in the class hierarchy An interface defines a set of methods but does not implement them. A class that implements the interface agrees to implement all the methods defined in the interface, thereby agreeing to certain behavior Interfaces can also define constants Sun Microsystems (web site tutorial) 7
About This Lecture. Outline. Handling Unusual Situations. Reacting to errors. Exceptions
Exceptions Revised 24-Jan-05 CMPUT 115 - Lecture 4 Department of Computing Science University of Alberta About This Lecture In this lecture we will learn how to use Java Exceptions to handle unusual program
More informationToday. Book-keeping. Inheritance. Subscribe to sipb-iap-java-students. Slides and code at Interfaces.
Today Book-keeping Inheritance Subscribe to sipb-iap-java-students Interfaces Slides and code at http://sipb.mit.edu/iap/java/ The Object class Problem set 1 released 1 2 So far... Inheritance Basic objects,
More informationDCS235 Software Engineering Exercise Sheet 2: Introducing GUI Programming
Prerequisites Aims DCS235 Software Engineering Exercise Sheet 2: Introducing GUI Programming Version 1.1, October 2003 You should be familiar with the basic Java, including the use of classes. The luej
More informationITI 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
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 informationJava Inheritance. Written by John Bell for CS 342, Spring Based on chapter 6 of Learning Java by Niemeyer & Leuck, and other sources.
Java Inheritance Written by John Bell for CS 342, Spring 2018 Based on chapter 6 of Learning Java by Niemeyer & Leuck, and other sources. Review Which of the following is true? A. Java classes may either
More informationComputer Science 210: Data Structures
Computer Science 210: Data Structures Summary Today writing a Java program guidelines on clear code object-oriented design inheritance polymorphism this exceptions interfaces READING: GT chapter 2 Object-Oriented
More informationITI 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
More informationObject Oriented Modeling
Object Oriented Modeling Object oriented modeling is a method that models the characteristics of real or abstract objects from application domain using classes and objects. Objects Software objects are
More informationObject-Oriented Concepts and Design Principles
Object-Oriented Concepts and Design Principles Signature Specifying an object operation or method involves declaring its name, the objects it takes as parameters and its return value. Known as an operation
More informationClass, Variable, Constructor, Object, Method Questions
Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx
More informationFirst Name: AITI 2004: Exam 2 July 19, 2004
First Name: AITI 2004: Exam 2 July 19, 2004 Last Name: JSP Track Read Instructions Carefully! This is a 3 hour closed book exam. No calculators are allowed. Please write clearly if we cannot understand
More informationJava 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
More informationB2.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
More informationAbstract 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 informationFirst Name: AITI 2004: Exam 2 July 19, 2004
First Name: AITI 2004: Exam 2 July 19, 2004 Last Name: Standard Track Read Instructions Carefully! This is a 3 hour closed book exam. No calculators are allowed. Please write clearly if we cannot understand
More informationPROGRAMMING LANGUAGE 2
31/10/2013 Ebtsam Abd elhakam 1 PROGRAMMING LANGUAGE 2 Java lecture (7) Inheritance 31/10/2013 Ebtsam Abd elhakam 2 Inheritance Inheritance is one of the cornerstones of object-oriented programming. It
More informationJava 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
More informationCSC 1214: Object-Oriented Programming
CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:
More informationCSC 102 Lecture Notes Week 1 Introduction to the Course Introduction to Jav a
CSC102-S010-L1 Page 1 I. Relevant reading. A. Horstmann chapters 1-6 B. Writeups for Labs 1 and 2 C. Various cited material in writeups CSC 102 Lecture Notes Week 1 Introduction to the Course Introduction
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationJAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn how to describe objects and classes and how to define classes and create objects
Islamic University of Gaza Faculty of Engineering Computer Engineering Dept Computer Programming Lab (ECOM 2114) ABSTRACT In this Lab you will learn how to describe objects and classes and how to define
More informationInstance Members and Static Members
Instance Members and Static Members You may notice that all the members are declared w/o static. These members belong to some specific object. They are called instance members. This implies that these
More informationC18a: 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
More informationZhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson
Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program
More informationMIT AITI Swing Event Model Lecture 17
MIT AITI 2004 Swing Event Model Lecture 17 The Java Event Model In the last lecture, we learned how to construct a GUI to present information to the user. But how do GUIs interact with users? How do applications
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 informationSINGLE EVENT HANDLING
SINGLE EVENT HANDLING Event handling is the process of responding to asynchronous events as they occur during the program run. An event is an action that occurs externally to your program and to which
More informationInheritance & 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,
More information2. (True/False) All methods in an interface must be declared public.
Object and Classes 1. Create a class Rectangle that represents a rectangular region of the plane. A rectangle should be described using four integers: two represent the coordinates of the upper left corner
More informationFinal Exam CS 251, Intermediate Programming December 10, 2014
Final Exam CS 251, Intermediate Programming December 10, 2014 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
More information1.00 Lecture 8. Using An Existing Class, cont.
.00 Lecture 8 Classes, continued Reading for next time: Big Java: sections 7.9 Using An Existing Class, cont. From last time: is a Java class used by the BusTransfer class BusTransfer uses objects: First
More informationCourse Content. Objectives of Lecture 24 Inheritance. Outline of Lecture 24. CMPUT 102: Inheritance Dr. Osmar R. Zaïane. University of Alberta 4
Structural Programming and Data Structures Winter 2000 CMPUT 102: Inheritance Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection Repetition
More informationBlock I Unit 2. Basic Constructs in Java. AOU Beirut Computer Science M301 Block I, unit 2 1
Block I Unit 2 Basic Constructs in Java M301 Block I, unit 2 1 Developing a Simple Java Program Objectives: Create a simple object using a constructor. Create and display a window frame. Paint a message
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance (part II) Polymorphism Version of January 21, 2013 Abstract These lecture notes
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance (part II) Polymorphism Version of January 21, 2013 Abstract These lecture notes
More informationFinal Exam CS 251, Intermediate Programming December 13, 2017
Final Exam CS 251, Intermediate Programming December 13, 2017 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
More informationCSC 102 Lecture Notes Week 2 Introduction to Incremental Development and Systematic Testing More Jav a Basics
CSC103-S010-L2 Page 1 CSC 102 Lecture Notes Week 2 Introduction to Incremental Development and Systematic Testing More Jav a Basics Revised 12 April I. Relevant reading. A. Horstmann chapters 1-6 (continued
More informationCourse Supervisor: Dr. Humera Tariq Hands on Lab Sessions: Ms. Sanya Yousuf
Course Supervisor: Dr. Humera Tariq Hands on Lab Sessions: Ms. Sanya Yousuf UML to represent and using single object Practice writing code for class Practice tostring( ) function Practice writing your
More informationInheritance 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
More informationGUI Program Organization. Sequential vs. Event-driven Programming. Sequential Programming. Outline
Sequential vs. Event-driven Programming Reacting to the user GUI Program Organization Let s digress briefly to examine the organization of our GUI programs We ll do this in stages, by examining three example
More informationCOMP 110/L Lecture 19. Kyle Dewey
COMP 110/L Lecture 19 Kyle Dewey Outline Inheritance extends super Method overriding Automatically-generated constructors Inheritance Recap -We talked about object-oriented programming being about objects
More informationAbout This Lecture. Container Traversal. Container Traversal. Outline. Array Traversal. List Traversal inside the List class
Revised 21-Mar-05 About This Lecture 2 Container Traversal In this lecture we will learn about traversing containers. In Java, traversal is commonly done using the Enumeration and Iterator Interfaces.
More informationCOMP200 ABSTRACT CLASSES. OOP using Java, from slides by Shayan Javed
1 1 COMP200 ABSTRACT CLASSES OOP using Java, from slides by Shayan Javed Abstract Classes 2 3 From the previous lecture: public class GeometricObject { protected String Color; protected String name; protected
More informationSoftware Paradigms (Lesson 3) Object-Oriented Paradigm (2)
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
More informationWhat will this print?
class UselessObject{ What will this print? int evennumber; int oddnumber; public int getsum(){ int evennumber = 5; return evennumber + oddnumber; public static void main(string[] args){ UselessObject a
More informationFor this section, we will implement a class with only non-static features, that represents a rectangle
For this section, we will implement a class with only non-static features, that represents a rectangle 2 As in the last lecture, the class declaration starts by specifying the class name public class Rectangle
More informationKeyword this. Can be used by any object to refer to itself in any class method Typically used to
Keyword this Can be used by any object to refer to itself in any class method Typically used to Avoid variable name collisions Pass the receiver as an argument Chain constructors Keyword this Keyword this
More informationGraphical 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
More information1 Getting started with Processing
cis3.5, spring 2009, lab II.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For
More informationInheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L
Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive
More informationObject 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
More informationCourse Content. Objectives of Lecture 24 Inheritance. Outline of Lecture 24. Inheritance Hierarchy. The Idea Behind Inheritance
Structural Programming and Data Structures Winter 2000 CMPUT 102: Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection Repetition Vectors
More informationCS260 Intro to Java & Android 03.Java Language Basics
03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance
More informationAP CS Unit 11: Graphics and Events
AP CS Unit 11: Graphics and Events This packet shows how to create programs with a graphical interface in a way that is consistent with the approach used in the Elevens program. Copy the following two
More informationC++ Important Questions with Answers
1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children
More informationPage 1 of 16. Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.
Page 1 of 16 HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2005 FINAL EXAMINATION 9am to 12noon, 19 DECEMBER 2005 Instructor: Alan McLeod If
More informationCS/ENGRD 2110 SPRING Lecture 2: Objects and classes in Java
1 CS/ENGRD 2110 SPRING 2014 Lecture 2: Objects and classes in Java http://courses.cs.cornell.edu/cs2110 Java OO (Object Orientation) 2 Python and Matlab have objects and classes. Strong-typing nature of
More informationExample Programs. COSC 3461 User Interfaces. GUI Program Organization. Outline. DemoHelloWorld.java DemoHelloWorld2.java DemoSwing.
COSC User Interfaces Module 3 Sequential vs. Event-driven Programming Example Programs DemoLargestConsole.java DemoLargestGUI.java Demo programs will be available on the course web page. GUI Program Organization
More informationObject-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09
Object-Oriented Programming: Revision / Graphics / Subversion Inf1 :: 2008/09 Breaking out of loops, 1 Task: Implement the method public void contains2(int[] nums). Given an array of ints and a boolean
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 26 March 23, 2016 Inheritance and Dynamic Dispatch Chapter 24 Inheritance Example public class { private int x; public () { x = 0; } public void incby(int
More informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
More informationProgramming in Java, 2e Sachin Malhotra Saurabh Choudhary
Programming in Java, 2e Sachin Malhotra Saurabh Choudhary Chapter 5 Inheritance Objectives Know the difference between Inheritance and aggregation Understand how inheritance is done in Java Learn polymorphism
More informationCSCE3193: Programming Paradigms
CSCE3193: Programming Paradigms Nilanjan Banerjee University of Arkansas Fayetteville, AR nilanb@uark.edu http://www.csce.uark.edu/~nilanb/3193/s10/ Programming Paradigms 1 Java Packages Application programmer
More informationCSC 160 LAB 8-1 DIGITAL PICTURE FRAME. 1. Introduction
CSC 160 LAB 8-1 DIGITAL PICTURE FRAME PROFESSOR GODFREY MUGANDA DEPARTMENT OF COMPUTER SCIENCE 1. Introduction Download and unzip the images folder from the course website. The folder contains 28 images
More information3.1 Class Declaration
Chapter 3 Classes and Objects OBJECTIVES To be able to declare classes To understand object references To understand the mechanism of parameter passing To be able to use static member and instance member
More informationChapter 6: Inheritance
Chapter 6: Inheritance EECS 1030 moodle.yorku.ca State of an object final int WIDTH = 3; final int HEIGTH = 4; final int WEIGHT = 80; GoldenRectangle rectangle = new GoldenRectangle(WIDTH, HEIGHT, WEIGHT);
More informationChapter 9 Inheritance
Chapter 9 Inheritance I. Scott MacKenzie 1 Outline 2 1 What is Inheritance? Like parent/child relationships in life In Java, all classes except Object are child classes A child class inherits the attributes
More informationFinal Exam 90 minutes Eng. Mohammed S. F. Abdual Al
Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2124) Final Exam 90 minutes Eng. Mohammed S. F. Abdual Al Student name Student ID Please
More informationThe Essence of OOP using Java, Nested Top-Level Classes. Preface
The Essence of OOP using Java, Nested Top-Level Classes Baldwin explains nested top-level classes, and illustrates a very useful polymorphic structure where nested classes extend the enclosing class and
More informationObject 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
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(b): Abstract classes & Polymorphism Lecture Contents 2 Abstract base classes Concrete classes Polymorphic processing Dr. Amal Khalifa,
More informationProgramming overview
Programming overview Basic Java A Java program consists of: One or more classes A class contains one or more methods A method contains program statements Each class in a separate file MyClass defined in
More informationClasses as Blueprints: How to Define New Types of Objects
Unit 5, Part 1 Classes as Blueprints: How to Define New Types of Objects Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Types of Decomposition When writing a program, it's important
More informationSystems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid
Systems Programming Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Leganés, 21st of March, 2014. Duration: 75 min. Full
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 informationCS180 Recitation. More about Objects and Methods
CS180 Recitation More about Objects and Methods Announcements Project3 issues Output did not match sample output. Make sure your code compiles. Otherwise it cannot be graded. Pay close attention to file
More informationInheritance, 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)
More informationObject-Oriented Concepts
JAC444 - Lecture 3 Object-Oriented Concepts Segment 2 Inheritance 1 Classes Segment 2 Inheritance In this segment you will be learning about: Inheritance Overriding Final Methods and Classes Implementing
More informationObject-oriented programming in Java (2)
Programming Languages Week 13 Object-oriented programming in Java (2) College of Information Science and Engineering Ritsumeikan University plan last week intro to Java advantages and disadvantages language
More informationOutline. Object-Oriented Design Principles. Object-Oriented Design Goals. What a Subclass Inherits from Its Superclass?
COMP9024: Data Structures and Algorithms Week One: Java Programming Language (II) Hui Wu Session 1, 2014 http://www.cse.unsw.edu.au/~cs9024 Outline Inheritance and Polymorphism Interfaces and Abstract
More informationArrays 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
More informationGUI Event Handlers (Part I)
GUI Event Handlers (Part I) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda General event
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 4(b): Subclasses and Superclasses OOP OOP - Inheritance Inheritance represents the is a relationship between data types (e.g. student/person)
More informationIndustrial Programming
Industrial Programming Lecture 4: C# Objects & Classes Industrial Programming 1 What is an Object Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a
More informationWhat is an Object. Industrial Programming. What is a Class (cont'd) What is a Class. Lecture 4: C# Objects & Classes
What is an Object Industrial Programming Lecture 4: C# Objects & Classes Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a person called John Objects
More informationCOMP200 INHERITANCE. OOP using Java, from slides by Shayan Javed
1 1 COMP200 INHERITANCE OOP using Java, from slides by Shayan Javed 2 Inheritance Derive new classes (subclass) from existing ones (superclass). Only the Object class (java.lang) has no superclass Every
More informationJAVA: A Primer. By: Amrita Rajagopal
JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently
More informationCS-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
More informationJava Magistère BFA
Java 101 - Magistère BFA Lesson 3: Object Oriented Programming in Java Stéphane Airiau Université Paris-Dauphine Lesson 3: Object Oriented Programming in Java (Stéphane Airiau) Java 1 Goal : Thou Shalt
More information1 Getting started with Processing
cisc3665, fall 2011, lab I.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For
More informationCS/ENGRD 2110 SPRING Lecture 2: Objects and classes in Java
1 CS/ENGRD 2110 SPRING 2017 Lecture 2: Objects and classes in Java http://courses.cs.cornell.edu/cs2110 CMS VideoNote.com, PPT slides, DrJava, Book 2 CMS available. Visit course webpage, click Links, then
More informationAbstract Class. Lecture 21. Based on Slides of Dr. Norazah Yusof
Abstract Class Lecture 21 Based on Slides of Dr. Norazah Yusof 1 Abstract Class Abstract class is a class with one or more abstract methods. The abstract method Method signature without implementation
More informationCS-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 informationInheritance. Notes Chapter 6 and AJ Chapters 7 and 8
Inheritance Notes Chapter 6 and AJ Chapters 7 and 8 1 Inheritance you know a lot about an object by knowing its class for example what is a Komondor? http://en.wikipedia.org/wiki/file:komondor_delvin.jpg
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationIST311. Advanced Issues in OOP: Inheritance and Polymorphism
IST311 Advanced Issues in OOP: Inheritance and Polymorphism IST311/602 Cleveland State University Prof. Victor Matos Adapted from: Introduction to Java Programming: Comprehensive Version, Eighth Edition
More informationChapter 14 Abstract Classes and Interfaces
Chapter 14 Abstract Classes and Interfaces 1 What is abstract class? Abstract class is just like other class, but it marks with abstract keyword. In abstract class, methods that we want to be overridden
More informationOutline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationBuilding custom components IAT351
Building custom components IAT351 Week 1 Lecture 1 9.05.2012 Lyn Bartram lyn@sfu.ca Today Review assignment issues New submission method Object oriented design How to extend Java and how to scope Final
More information