Programming in the Large II: Objects and Classes (Part 2)
|
|
- Rolf Bates
- 6 years ago
- Views:
Transcription
1 Programming in the Large II: Objects and Classes (Part 2) Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew Department of Computer Engineering Khon Kaen University 1
2 Agenda Inheritance Polymorphism Abstract Classes Special variables this and super Interfaces 2
3 Inheritance and Polymorphism OOP allows classes to express the similarities among objects that share some, but not all, of their structure and behavior Such similarities can be expressed using inheritance and polymorphism The term inheritance refers to the fact that one class can inherit part or all of its structure and behavior from another class Polymorphism just means that different objects can respond to the same message in different ways 3
4 Inheritance The class that does the inheriting is said to be a subclass of the class from which it inherits If class B is a subclass of class A, we also say that class A is a superclass of class B A subclass can add to the structure and behavior that it inherits It can also replace or modify inherited behavior 4
5 Inheritance Diagram In the diagram shown on the right, above, classes B, C, and D are sibling classes Inheritance can also extend over several generations of classes This whole set of classes forms a small class hierarchy 5
6 Extending Existing Classes The existing class can be extended to make a subclass The syntax for this is public class (subclass-name) extends (existingclass-name) { Example // Changes and additions public class B extends A { 6
7 Examples: Vehicles Suppose that a program has to deal with motor vehicles, including cars, trucks, and motorcycles. The program could use a class named Vehicle to represent all types of vehicles Since cars, trucks, and motorcycles are types of vehicles, they would be represented by subclasses of the Vehicle class 7
8 Examples Diagram: Vehicle 8
9 Vehicle: Superclass The Vehicle class would include Instance variables such as velocity Instance methods such as getvelocity() and setvelocity() These are variables and methods common to all vehicles The three subclasses of Vehicle Car, Truck, and Motorcycle could then be used to hold variables and methods specific to particular types of vehicles 9
10 Subclasses of Vehicle The Car class might add an instance variable numberofdoors The Truck class might have an instance variable numbeofaxles The Motorcycle class could have a boolean variable hasbasket 10
11 Class Vehicle public class Vehicle { protected float velocity; public float getvelocity() { return velocity; public void setvelocity(float newvelocity) { velocity = newvelocity; 11
12 Class Car class Car extends Vehicle { private int numberofdoors; public int getnumberofdoors() { return numberofdoors; public void setnumberofdoors(int newnumdoors) { numberofdoors = newnumdoors; 12
13 Testing Vehicle public static void main(string[] args) { Car mycar = new Car(); mycar.setvelocity(80); mycar.setnumberofdoors(4); System.out.println("Velocity = " + mycar.getvelocity() + " Number of doors = " + mycar.getnumberofdoors()); 13
14 Inherited Variables & Methods Suppose that mycar is a variable of type Car that has been declared and initialized with the statement Car mycar = new Car(); Since class Car extends class Vehicle, a car also has all the structure and behavior of a vehicle This means that a variable mycar.velocity exist mycar.setvelocity() and mycar.getvelocity() also exist 14
15 A Variable and Inheritance Now, in the real world, cars, trucks, and motorcycles are in fact vehicles The same is true in a program. That is, an object of type Car or Truck or Motorcycle is automatically an object of type Vehicle too A variable that can hold a reference to an object of class A can also hold a reference to an object belonging to any subclass of A 15
16 Which Statements are Legal? 1 Vehicle myvehicle = mycar; 2 Vehicle myvehicle2 = new Car(); 3 Car mycar2 = myvehicle; 4 Car mycar3 = new Vehicle(); 5 Car mycar4 = (Car) myvehicle; 16
17 Checking Class of an Object The variable myvehicle holds a reference to a Vehicle object that happens to be an instance of the subclass, Car The object remembers that it is in fact a Car, and not just a Vehicle To test whether a given object belongs to a given class, using the instanceof operator. The test: if (myvehicle instanceof Car) Determines whether the object referred to by myvehicle is in fact a car 17
18 Type Casting mycar = myvehicle; would be illegal because myvehicle could potentially refer to other types of vehicles that are not cars It's like we cannot assign an int value to a variable of type short, because not every int is a short Similarly, it will not allow you to assign a value of type Vehicle to a variable of type Car because not every vehicle is a car As in the case of ints and shorts, the solution here is to use type-casting. mycar = (Car) myvehicle; 18
19 Examples: Shapes Three classes, Rectangle, Oval, and RoundRect, could be used to represent the three types of shapes These three classes would have a common superclass, Shape, to represent features that all three shapes have in common 19
20 Class Shape public class Shape { protected String color; public void setcolor(string newcolor) { color = newcolor; public String getcolor() { return color; public void redraw() { 20
21 Subclasses of Shape class RoundRect extends Shape { void redraw() {... // commands for drawing a rectangle class Oval extends Shape { void redraw() {... // commands for drawing a circle 21
22 Method redraw If oneshape is a variable of type Shape, it could refer to an object of any of the types, Rectangle, Oval, or RoundRect As a program executes, and the value of oneshape changes, it could even refer to objects of different types at different times Whenever the statement oneshape.redraw(); is executed, the redraw method that is actually called is the one appropriate for the type of object to which oneshape actually refers. 22
23 Polymorphism It is possible that the very same statement oneshape.redraw(); will call different methods and draw different shapes as it is executed over and over We say that the redraw() method is polymorphic A method is polymorphic if the action performed by the method depends on the actual type of the object to which the method is applied Polymorphism is one of the major distinguishing 23 features of object-oriented programming
24 Method redraw() in Shape Whenever a Rectangle, Oval, or RoundRect object has to draw itself, it is the redraw() method in the appropriate class that is executed This leaves open the question, What does the redraw() method in the Shape class do? How should it be defined? We should leave it blank! The fact is that the class Shape represents the abstract idea of a shape, and there is no way to draw such a thing 24
25 Abstract Classes You can have variables of type Shape, but the objects they refer to will always belong to one of the subclasses of Shape We say that Shape is an abstract class An abstract class is one that is not used to construct objects, but only as a basis for making subclasses 25
26 Abstract vs. Concrete Classes An abstract class exists only to express the common properties of all its subclasses A class that is not abstract is said to be concrete You can create objects belonging to a concrete class, but not to an abstract class. A variable whose type is given by an abstract class can only refer to objects that belong to concrete subclasses of the abstract class. 26
27 Abstract Method We say that the redraw() method in class Shape is an abstract method since it is never meant to be called The redraw() method in Shape has to be there only to tell the computer that all Shapes understand the redraw message As an abstract method, it exists merely to specify the common interface of all the actual, concrete versions of redraw() in the subclasses of Shape 27
28 Modifier abstract Shape and its redraw() method are semantically abstract You can also tell the computer, syntactically, that they are abstract by adding the modifier abstract to their definitions For an abstract method, the block of code that gives the implementation of an ordinary method is replaced by a semicolon An implementation must be provided for the abstract method in any concrete subclass of the abstract class 28
29 Abstract Class Shape public abstract class Shape { protected String color; public void setcolor(string newcolor) { color = newcolor; public String getcolor() { return color; public abstract void redraw(); 29
30 Abstract Class & Method Is this code legal? Why or why not? class Triangle extends Shape { private float height, width; Is this code legal? Why or why not? public static void main(string[] args) { Shape s = new Shape(); 30
31 Special Variable this Java provides a special, predefined variable named this that you can use to refer to the object that contains the method This intent of the name, this, is to refer to this object If x is an instance variable in the same object, then this.x can be used as a full name for that variable If othermethod() is an instance method in the same object, then this.othermethod() could be used to call that method 31
32 Example of Using this public class ThisDemo { private String name; public ThisDemo(String name) { this.name = name; public void methoda() { System.out.println( method A ); public String tostring() { return "name:" + name; public void methodb() { this.methoda(); System.out.println("method B"); System.out.println(this); 32
33 Example of Using this public static void main(string[] args) { ThisDemo td = new ThisDemo("kku"); td.methodb(); What is the output? 33
34 The Special Variable super Java also defines another special variable, named super, for use in the definitions of instance methods The variable super is for use in a subclass Like this, super refers to the object that contains the method but it remembers only that it belongs to the superclass of that class It can only be used to refer to methods and variables in the superclass 34
35 Using super with a Method Let s say that the class that you are writing contains an instance method named dosomething() Consider the subroutine call statement super.dosomething() It tries to execute a method named dosomething() from the superclass If there is none if the dosomething() method was an addition rather than a modification you ll get a syntax error 35
36 Using super with a Variable The reason super exists is so you can get access to things in the superclass that are hidden in the subclass For example, super.x always refers to an instance variable named x in the superclass The variable in the subclass does not replace the variable of the same name in the superclass; it merely hides it The variable from the superclass can still be accessed, using super. 36
37 Implementing a Method using super The major use of super is to override a method with a new method that extends the behavior of the inherited method Instead of replacing that behavior entirely The new method can use super to call the method from the superclass Then it can add additional code to provide additional behavior 37
38 Example: using super (1/3) class Kid { String name; Kid() { name = "a kid"; public void play() { System.out.println(name + " likes to play with toys"); 38
39 Example: using super (2/3) class SmallKid extends Kid { String name; SmallKid() { name = "a small kid"; SmallKid(String name) {this.name = name; public String tostring() { return this.name + " " + super.name; public void play() { super.play(); System.out.println(name + " likes to play with parents the most"); 39
40 Example: using super (3/3) public class SuperDemo { public static void main(string[] args) { SmallKid sk = new SmallKid("Ta"); System.out.println(sk); sk.play(); What is the output? 40
41 Multiple Inheritance Some object-oriented programming languages, such as C++, allow a class to extend two or more superclasses This is called multiple inheritance. 41
42 Interface Java does have a feature that can be used to accomplish many of the same goals as multiple inheritance: interfaces An interface in this sense consists of a set of instance method interfaces, without any associated implementations A class can implement an interface by providing an implementation for each of the methods specified by the interface 42
43 Interface Example interface Drawable { public void draw(); interface Fillable { public void fill(); public class Line implements Drawable, Fillable { public void draw() { System.out.println("=== Drawing a line ===="); public void fill() { System.out.println("=== Filling a line ===="); public static void main(string[] args) { Line l = new Line(); l.draw(); l.fill(); 43
44 References David J. Eck, Introduction to Programming Using Java, Version 5.0, December
In Java, to create a class named "B" as a subclass of a class named "A", you would write
The term inheritance refers to the fact that one class can inherit part or all of its structure and behavior from another class. The class that does the inheriting is said to be a subclass of the class
class Shape { // Color of the shape. (Recall that class Color // is defined in package java.awt. Assume // that this class has been imported.
As another example, consider a program that deals with shapes drawn on the screen. Let's say that the shapes include rectangles, ovals, and roundrects of various colors. (A "roundrect" is just a rectangle
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
5.6.1 The Special Variable this
ALTHOUGH THE BASIC IDEAS of object-oriented programming are reasonably simple and clear, they are subtle, and they take time to get used to And unfortunately, beyond the basic ideas there are a lot of
Programming in the Small II: Control
Programming in the Small II: Control 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University Agenda Selection
Chapter 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
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
Programming in the Large II: Objects and Classes (Part 1)
Programming in the Large II: Objects and Classes (Part 1) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen
Advanced Computer Programming
Programming in the Small I: Names and Things (Part II) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University
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
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
Exercise: Singleton 1
Exercise: Singleton 1 In some situations, you may create the only instance of the class. 1 class mysingleton { 2 3 // Will be ready as soon as the class is loaded. 4 private static mysingleton Instance
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
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
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
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
OBJECT ORİENTATİON ENCAPSULATİON
OBJECT ORİENTATİON Software development can be seen as a modeling activity. The first step in the software development is the modeling of the problem we are trying to solve and building the conceptual
Advanced Computer Programming
Programming in the Large I: Methods (Subroutines) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University
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
GUI 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
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
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
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
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
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
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 Polymorphism.
Inheritance and Polymorphism by Yukong Zhang Object-oriented programming languages are the most widely used modern programming languages. They model programming based on objects which are very close to
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
Correctness and Robustness
Correctness and Robustness 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Introduction
Chapter 10 Inheritance and Polymorphism. Dr. Hikmat Jaber
Chapter 10 Inheritance and Polymorphism Dr. Hikmat Jaber 1 Motivations Suppose you will define classes to model circles, rectangles, and triangles. These classes have many common features. What is the
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
Inheritance and Polymorphism
Inheritance and Polymorphism Dr. M. G. Abbas Malik Assistant Professor Faculty of Computing and IT (North Jeddah Branch) King Abdulaziz University, Jeddah, KSA mgmalik@kau.edu.sa www.sanlp.org/malik/cpit305/ap.html
8. 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
G Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 12 Thomas Wies New York University Review Last lecture Modules Outline Classes Encapsulation and Inheritance Initialization and Finalization Dynamic
Argument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.
Local Variable Initialization Unlike instance vars, local vars must be initialized before they can be used. Eg. void mymethod() { int foo = 42; int bar; bar = bar + 1; //compile error bar = 99; bar = bar
Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)
Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Sung Hee Park Department of Mathematics and Computer Science Virginia State University September 18, 2012 The Object-Oriented Paradigm
Advanced Computer Programming
Arrays 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Creating and Using Arrays Programming
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
OBJECT ORIENTED PROGRAMMING
1. Programming Paradigms OBJECT ORIENTED PROGRAMMING A programming methodology defines the methodology of designing and implementing programs using the key features and other building blocks (such as key
Inheritance (continued) Inheritance
Objectives Chapter 11 Inheritance and Polymorphism Learn about inheritance Learn about subclasses and superclasses Explore how to override the methods of a superclass Examine how constructors of superclasses
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
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 11 java track: lecture 3
CS 11 java track: lecture 3 This week: documentation (javadoc) exception handling more on object-oriented programming (OOP) inheritance and polymorphism abstract classes and interfaces graphical user interfaces
Topic 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,
Lecture 36: Cloning. Last time: Today: 1. Object 2. Polymorphism and abstract methods 3. Upcasting / downcasting
Lecture 36: Cloning Last time: 1. Object 2. Polymorphism and abstract methods 3. Upcasting / downcasting Today: 1. Project #7 assigned 2. equals reconsidered 3. Copying and cloning 4. Composition 11/27/2006
COMP200 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
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
Chapter 11 Inheritance and Polymorphism. Motivations. Suppose you will define classes to model circles,
Chapter 11 Inheritance and Polymorphism 1 Motivations Suppose you will define classes to model circles, rectangles, and triangles. These classes have many common features. What is the best way to design
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
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)
Classes and Inheritance Extending Classes, Chapter 5.2
Classes and Inheritance Extending Classes, Chapter 5.2 Dr. Yvon Feaster Inheritance Inheritance defines a relationship among classes. Key words often associated with inheritance are extend and implements.
IT101. Inheritance, Encapsulation, Polymorphism and Constructors
IT101 Inheritance, Encapsulation, Polymorphism and Constructors OOP Advantages and Concepts What are OOP s claims to fame? Better suited for team development Facilitates utilizing and creating reusable
More on Inheritance. Interfaces & Abstract Classes
More on Inheritance Interfaces & Abstract Classes Java interfaces A Java interface is used to specify minimal functionality that a client requires of a server. A Java interface contains: method specifications
CSE 143 Lecture 20. Circle
CSE 143 Lecture 20 Abstract classes Circle public class Circle { private double radius; public Circle(double radius) { this.radius = radius; public double area() { return Math.PI * radius * radius; public
CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes
CS/ENGRD 2110 FALL 2017 Lecture 7: Interfaces and Abstract Classes http://courses.cs.cornell.edu/cs2110 1 Announcements 2 A2 is due tomorrow night (17 February) Get started on A3 a method every other day.
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 -- Introduction
Inheritance -- Introduction Another fundamental object-oriented technique is called inheritance, which, when used correctly, supports reuse and enhances software designs Chapter 8 focuses on: the concept
Introduction to OOP with Java. Instructor: AbuKhleif, Mohammad Noor Sep 2017
Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 Lecture 11: Inheritance and Polymorphism Part 1 Instructor: AbuKhleif, Mohammad Noor Sep 2017 Instructor AbuKhleif, Mohammad
2. The object-oriented paradigm
2. The object-oriented paradigm Plan for this section: Look at things we have to be able to do with a programming language Look at Java and how it is done there Note: I will make a lot of use of the fact
IST311. 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
COSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan
COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 Quick Review Inheritance models IS- A rela?onship Different from impor?ng classes Inherited classes can be organized
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
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
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
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
JAVA 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
Inheritance (Outsource: )
(Outsource: 9-12 9-14) is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes,
More On inheritance. What you can do in subclass regarding methods:
More On inheritance What you can do in subclass regarding methods: The inherited methods can be used directly as they are. You can write a new static method in the subclass that has the same signature
COMP200 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
Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7
Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer
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
Polymorphism CSCI 201 Principles of Software Development
Polymorphism CSCI 201 Principles of Software Development Jeffrey Miller, Ph.D. jeffrey.miller@usc.edu Program Outline USC CSCI 201L Polymorphism Based on the inheritance hierarchy, an object with a compile-time
Making New instances of Classes
Making New instances of Classes NOTE: revised from previous version of Lecture04 New Operator Classes are user defined datatypes in OOP languages How do we make instances of these new datatypes? Using
index.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
Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018
Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 4: OO Principles - Polymorphism http://courses.cs.cornell.edu/cs2110/2018su Lecture 3 Recap 2 Good design principles.
Object Oriented Programming: Based on slides from Skrien Chapter 2
Object Oriented Programming: A Review Based on slides from Skrien Chapter 2 Object-Oriented Programming (OOP) Solution expressed as a set of communicating objects An object encapsulates the behavior and
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
Computer Science II (20073) Week 1: Review and Inheritance
Computer Science II 4003-232-01 (20073) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Hardware and Software Hardware Physical devices in a computer system
Outline. Inheritance. Abstract Classes Interfaces. Class Extension Overriding Methods Inheritance and Constructors Polymorphism.
Outline Inheritance Class Extension Overriding Methods Inheritance and Constructors Polymorphism Abstract Classes Interfaces 1 OOP Principles Encapsulation Methods and data are combined in classes Not
Day 4. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 4 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments questions about assignment 2 a quick look back constructors signatures and overloading encapsulation / information
Introduction to Object-Oriented Programming
Introduction to Object-Oriented Programming Objects and classes Abstract Data Types (ADT). Encapsulation OOP: Introduction 1 Pure Object-Oriented Languages Five rules [Source: Alan Kay]: Everything in
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
Abstract Classes and Interfaces
Abstract Classes and Interfaces Reading: Reges and Stepp: 9.5 9.6 CSC216: Programming Concepts Sarah Heckman 1 Abstract Classes A Java class that cannot be instantiated, but instead serves as a superclass
ITI 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
What is Polymorphism? Quotes from Deitel & Deitel s. Why polymorphism? How? How? Polymorphism Part 1
Polymorphism Part 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid adult
What are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
ITI 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
CSC207H: Software Design. Java + OOP. CSC207 Winter 2018
Java + OOP CSC207 Winter 2018 1 Why OOP? Modularity: code can be written and maintained separately, and easily passed around the system Information-hiding: internal representation hidden from the outside
Lecture Notes Chapter #9_b Inheritance & Polymorphism
Lecture Notes Chapter #9_b Inheritance & Polymorphism Inheritance results from deriving new classes from existing classes Root Class all java classes are derived from the java.lang.object class GeometricObject1
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
Polymorphism Part 1 1
Polymorphism Part 1 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid
Inheritance. 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
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
Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming
Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in
CS 251 Intermediate Programming Inheritance
CS 251 Intermediate Programming Inheritance Brooke Chenoweth University of New Mexico Spring 2018 Inheritance We don t inherit the earth from our parents, We only borrow it from our children. What is inheritance?
BBM 102 Introduction to Programming II Spring 2017
BBM 102 Introduction to Programming II Spring 2017 Abstract Classes and Interfaces Instructors: Ayça Tarhan, Fuat Akal, Gönenç Ercan, Vahid Garousi Today Abstract Classes Abstract methods Polymorphism
OVERRIDING. 7/11/2015 Budditha Hettige 82
OVERRIDING 7/11/2015 (budditha@yahoo.com) 82 What is Overriding Is a language feature Allows a subclass or child class to provide a specific implementation of a method that is already provided by one of
Java 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
Chapter 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