Object-Oriented Programming
|
|
- Beverly Horatio McBride
- 6 years ago
- Views:
Transcription
1 Objects and Classes Object-Oriented Programming
2 Outline Classes vs. objects Designing a class Methods and instance variables Encapsulation & information hiding Readings: HFJ: Ch. 2, 3, 4. GT: Ch. 3, 4. Đại học Công nghệ - ĐHQG HN Objects and Classes 2
3 Java program public class Greeting { public void greet() { System.out.print("Hi there!"); public class TestGreeting { public static void main(string[] args) { Greeting gr = new Greeting(); gr.greet(); A Java program, at run-time, is a collection of objects. They do things (their methods) and ask other objects to do things (calling methods of others). A Java program, when we write it, is a collection of classes A Java library contains predefined classes that we can use in our programs Đại học Công nghệ - ĐHQG HN Objects and Classes 3
4 Classes vs. objects A class is a blueprint/template that is used to construct objects. Each object is instantiated from a class. That object is called an instance of the class. Đại học Công nghệ - ĐHQG HN Objects and Classes 4
5 Designing a class When you design a class, think about the objects that will be created from that class things the object knows about itself things the object does Đại học Công nghệ - ĐHQG HN Objects and Classes 5
6 Designing a class things the object knows about itself instance variables the object's instance variables represent its state things the object can do methods the object's methods represent its behavior Đại học Công nghệ - ĐHQG HN Objects and Classes 6
7 Writing a class 1. Write the class class Dog { int size; String breed; String name; instance variables a method void bark() { System.out.println("Ruff! Ruff!"); DOG size breed name bark() Đại học Công nghệ - ĐHQG HN Objects and Classes 7
8 Writing a class 2. Write a tester (TestDrive) class with code to test the Dog class dot notation (.) gives access to an object's instance variables and methods public class DogTestDrive { public static void main(string [] args) { Dog d = new Dog(); make a Dog object d.name = "Bruno"; d.bark(); set the name of the Dog call its bark() method Information hiding is not here yet. Đại học Công nghệ - ĐHQG HN Objects and Classes 8
9 Writing a class Instance variables/methods belong to an object. Thus, when accessing them, you MUST specify which object they belong to. dot notation (.) and the object reference public class DogTestDrive { public static void main(string [] args) { Dog d = new Dog(); d.name = "Bruno"; d.bark(); access 'name' of the Dog call its bark() method Đại học Công nghệ - ĐHQG HN Objects and Classes 9
10 Object references 3 steps of object declaration, creation and assignment: 1. Declare a reference variable Dog mydog = new Dog(); 2. Create an object Dog mydog = new Dog(); 3. Link the object and the reference Dog mydog = new Dog(); Đại học Công nghệ - ĐHQG HN Objects and Classes 10
11 Object references Dog mydog = new Dog(); Remember: References are not objects! Đại học Công nghệ - ĐHQG HN Objects and Classes 11
12 Messaging between objects Sending a message to an object is actually calling a method of the object. d.bark() Syntax: <object reference>.<method_name>(<arguments>) recipient message content extra information Đại học Công nghệ - ĐHQG HN Objects and Classes 12
13 Methods How objects behave Objects have state (instance variables) behavior (methods) A method can use instance variables' value and change the object's state. A method can use instance variables so that objects of the same type can behave differently Đại học Công nghệ - ĐHQG HN Objects and Classes 13
14 State affects behavior, behavior affects state class Dog { 1. Write the class int size; String breed; String name; void bark() { if (size > 14) System.out.println("Ruff! Ruff!"); else System.out.println("Yip! Yip!"); void getbigger() { size += 5; State affects behavior. Dogs of different sizes behave differently. size breed name DOG bark() method changes state getbigger() Đại học Công nghệ - ĐHQG HN Objects and Classes 14
15 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two.bark(); two.getbigger(); two.bark () ; one.bark(); Đại học Công nghệ - ĐHQG HN Objects and Classes 15
16 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; one Dog object 1 name:null size:0 breed:null two.bark(); two.getbigger(); two.bark () ; %> java DogTestDrive one.bark(); Đại học Công nghệ - ĐHQG HN Objects and Classes 16
17 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; one Dog object 1 name:null size: 7 breed:null two.bark(); two.getbigger(); two.bark () ; %> java DogTestDrive one.bark(); Đại học Công nghệ - ĐHQG HN Objects and Classes 17
18 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { one Dog object 1 name:null size: 7 breed:null Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two.bark(); two.getbigger(); two.bark () ; two %> java DogTestDrive Dog object 2 name:null size:13 breed:null one.bark(); Đại học Công nghệ - ĐHQG HN Objects and Classes 18
19 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { one Dog object 1 name:null size: 7 breed:null Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two Dog object 2 name:null size:13 breed:null two.bark(); two.getbigger(); two.bark () ; one.bark(); %> java DogTestDrive Yip! Yip! Đại học Công nghệ - ĐHQG HN Objects and Classes 19
20 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { one Dog object 1 name:null size: 7 breed:null Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two Dog object 2 name:null size:18 breed:null two.bark(); two.getbigger(); two.bark () ; one.bark(); %> java DogTestDrive Yip! Yip! Đại học Công nghệ - ĐHQG HN Objects and Classes 20
21 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { one Dog object 1 name:null size: 7 breed:null Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two Dog object 2 name:null size:18 breed:null two.bark(); two.getbigger(); two.bark () ; one.bark(); %> java DogTestDrive Yip! Yip! Ruff! Ruff! Đại học Công nghệ - ĐHQG HN Objects and Classes 21
22 State affects behavior, behavior affects state class DogTestDrive { 1. Write the class public static void main (String[] args) { one Dog object 1 name:null size: 7 breed:null Dog one = new Dog(); one.size = 7; Dog two = new Dog(); two.size = 13; two Dog object 2 name:null size:18 breed:null two.bark(); two.getbigger(); two.bark () ; one.bark(); %> java DogTestDrive Yip! Yip! Ruff! Ruff! Yip! Yip! %> Đại học Công nghệ - ĐHQG HN Objects and Classes 22
23 Compare size, name vs. bruno, value syntax? scope? class Dog { int size; String name;... void getbigger() { size += 5; public class DogTestDrive { public static void main(string [] ar Dog bruno = new Dog(); bruno.name = "Bruno";... int value = bruno.size; Đại học Công nghệ - ĐHQG HN Objects and Classes 23
24 Instance variables vs. local variables Instance variables belong to an object declared inside a class but NOT within a method have default values (0, 0.0, false, null ) class Dog { int size; String name;... void getbigger() { size += 5; Local variables belong to a method declared within a method MUST be initialized before use public class DogTestDrive { public static void main(string [ Dog bruno = new Dog(); bruno.name = "Bruno";... int size = bruno.size; Đại học Công nghệ - ĐHQG HN Objects and Classes 24
25 Encapsulation Bad Better class Person { String name; Date birthday; String address; // about his/her dog String dogname; String dogbreed; int dogsize; class Dog { int size; String breed; String name;... class Person { String name; Date birthday; String address; Dog petdog; Đại học Công nghệ - ĐHQG HN Objects and Classes 25
26 Encapsulation / information hiding What is wrong with this code? It allows for a supernatural dog Object's data is exposed. class Dog { int size; String breed; String name;... Dog d = new Dog(); d.size = -1; Exposed instance variables can lead to invalid states of object What to do about it? write set methods (setters) for instance variables hide the instance variables to force other code to use the set methods instead of accessing them directly. Đại học Công nghệ - ĐHQG HN Objects and Classes 26
27 Information hiding. Rule of thumb Mark instance variables private. Make getters and setters and mark them public. Don't forget to check data validity in setters. class Dog { private int size; public void setsize(int s) { if (s > 0) size = s; public int getsize() { return size;... Đại học Công nghệ - ĐHQG HN Objects and Classes 27
28 Class access control Access modifiers: public : Accessible anywhere by anyone private : Only accessible within the current class protected : Accessible only to the class itself and to its subclasses or other classes in the same package default (no keyword): accessible within the current package Đại học Công nghệ - ĐHQG HN Objects and Classes 28
29 Implementation vs. Interface DogTestDrive: a client of Dog Implementation Data structures and code that implement the object features (instant variables and methods) Usually more involved and may have complex inner workings Clients don t need to know Interface The controls exposed to the client by the implementation The knobs on the black box Đại học Công nghệ - ĐHQG HN Objects and Classes 29
30 Encapsulation / information hiding Don t expose internal data structures! Objects hold data and code Neither is exposed to the end user or "client" modules. Interface vs. implementation A cat's look vs. its internal organs A TV's screen & buttons vs. the stuff inside the box Complexity is hidden inside the object Make life easier for clients More modular approach Implementation changes in one component doesn t affect others Less error-prone Đại học Công nghệ - ĐHQG HN Objects and Classes 30
More on Java. Object-Oriented Programming
More on Java Object-Oriented Programming Outline Instance variables vs. local variables Primitive vs. reference types Object references, object equality Objects' and variables' lifetime Parameters passing
More informationJava Session. Day 2. Reference: Head First Java
Java Session Day 2 shrishty_bcs11@nitc.ac.in Reference: Head First Java Encapsulation This hides the data!! How do we do it? By simply using public private access modifiers. 1. Mark the instance variables
More informationObject-Oriented Programming
Abstract classes Object-Oriented Programming Outline Abstract classes Abstract methods Design pattern: Template method Dynamic & static binding Upcasting & Downcasting Readings: HFJ: Ch. 8. GT: Ch. 8.
More informationBinghamton University. CS-140 Fall Problem Solving. Creating a class from scratch
Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods
More informationInheritance & Polymorphism. Object-Oriented Programming
Inheritance & Polymorphism Object-Oriented Programming Outline Example Design an inheritance structure IS-A and HAS-A Polymorphism protected access level Rules for overriding the Object class Readings:
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 informationObject Oriented Programming Part I of II. Steve Ryder 08/22/05, Session 8351 JSR Systems (JSR)
Object Oriented Programming Part I of II Steve Ryder 08/22/05, Session 8351 JSR Systems (JSR) sryder@jsrsys.com Objectives Compare/Contrast OO Programming to Procedural Programming Introduction to these
More informationObject Oriented Programming Part II of II. Steve Ryder Session 8352 JSR Systems (JSR)
Object Oriented Programming Part II of II Steve Ryder Session 8352 JSR Systems (JSR) sryder@jsrsys.com New Terms in this Section API Access Modifier Package Constructor 2 Polymorphism Three steps of object
More informationObject Oriented Programming
Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented
More informationENCAPSULATION. private, public, scope and visibility rules. packages and package level access.
ENCAPSULATION private, public, scope and visibility rules. packages and package level access. Q. Explain the term Encapsulation with an example? Ans: The wrapping up to data and methods into a single units
More informationObject Oriented Programming
Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented
More informationHandout 7. Defining Classes part 1. Instance variables and instance methods.
Handout 7 CS180 Programming Fundamentals Spring 15 Page 1 of 8 Handout 7 Defining Classes part 1. Instance variables and instance methods. In Object Oriented programming, applications are comprised from
More informationRecitation 3 Class and Objects
1.00/1.001 Introduction to Computers and Engineering Problem Solving Recitation 3 Class and Objects Spring 2012 1 Scope One method cannot see variables in another; Variables created inside a block: { exist
More informationCS121/IS223. Object Reference Variables. Dr Olly Gotel
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors CS121/IS223
More informationBasic Object-Oriented Concepts. 5-Oct-17
Basic Object-Oriented Concepts 5-Oct-17 Concept: An object has behaviors In old style programming, you had: data, which was completely passive functions, which could manipulate any data An object contains
More informationObject Oriented C# Classes. The OO features of C# are very similar to Java. We ll point the exceptions along the way. 1. A simple C# class.
Object Oriented C# The OO features of C# are very similar to Java. We ll point the exceptions along the way. Classes 1. A simple C# class. Design Test Code Dog d = new Dog("Max"); string name = d.name;
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationC++ Classes & Object Oriented Programming
C++ Classes & Object Oriented Programming What is it? Object Oriented Programming 1 Object Oriented Programming One of the first applications of modern computing was modeling and simulation. Scientists
More informationCIS 110: Introduction to Computer Programming
CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) 11/28/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline Object-oriented programming. What is
More informationOutline. CIS 110: Introduction to Computer Programming. Any questions? My life story. A horrible incident. The awful truth
Outline CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) Object-oriented programming. What is an object? Classes as blueprints for objects. Encapsulation
More informationData Structures. Data structures. Data structures. What is a data structure? Simple answer: a collection of data equipped with some operations.
Data Structures 1 Data structures What is a data structure? Simple answer: a collection of data equipped with some operations. Examples Lists Strings... 2 Data structures In this course, we will learn
More informationObject-Oriented Programming Classes, Objects, Variables
Object-Oriented Programming Classes, Objects, Variables Ewan Klein School of Informatics Inf1 :: 2009/10 Ewan Klein (School of Informatics) Object-Oriented ProgrammingClasses, Objects, Variables Inf1 ::
More informationLecture 02, Fall 2018 Friday September 7
Anatomy of a class Oliver W. Layton CS231: Data Structures and Algorithms Lecture 02, Fall 2018 Friday September 7 Follow-up Python is also cross-platform. What s the advantage of Java? It s true: Python
More informationCS 1302 Chapter 9 (Review) Object & Classes
CS 1302 Chapter 9 (Review) Object & Classes Reference Sections 9.2-9.5, 9.7-9.14 9.2 Defining Classes for Objects 1. A class is a blueprint (or template) for creating objects. A class defines the state
More informationclass objects instances Fields Constructors Methods static
Class Structure Classes A class describes a set of objects The objects are called instances of the class A class describes: Fields (instance variables)that hold the data for each object Constructors that
More informationUser Defined Types. Babes-Bolyai University Lecture 06. Lect Phd. Arthur Molnar. User defined types. Python scope and namespace
? User Defined Types Babes-Bolyai University arthur@cs.ubbcluj.ro Overview? 1? 2 3 ? NB! Types classify values. A type denotes a domain (a set of values) operations on those values. ? Object oriented programming
More informationObject Oriented Programming
Object Oriented Programming Ray John Pamillo 1/27/2016 1 Nokia Solutions and Networks 2014 Outline: Brief History of OOP Why use OOP? OOP vs Procedural Programming What is OOP? Objects and Classes 4 Pillars
More informationC++ & Object Oriented Programming Concepts The procedural programming is the standard approach used in many traditional computer languages such as BASIC, C, FORTRAN and PASCAL. The procedural programming
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More informationCSCE 156 Computer Science II
CSCE 156 Computer Science II Lab 04 - Classes & Constructors Dr. Chris Bourke Prior to Lab 1. Review this laboratory handout prior to lab. 2. Read Object Creation tutorial: http://download.oracle.com/javase/tutorial/java/javaoo/objectcreation.
More informationJava OOP (SE Tutorials: Learning the Java Language Trail : Object-Oriented Programming Concepts Lesson )
Java OOP (SE Tutorials: Learning the Java Language Trail : Object-Oriented Programming Concepts Lesson ) Dongwon Jeong djeong@kunsan.ac.kr; http://ist.kunsan.ac.kr/ Information Sciences and Technology
More informationLecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University
Lecture 3 COMP1006/1406 (the Java course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments 1 (graded) & 2 3 (available now) & 4 (tomorrow) a quick look back primitive data types
More informationChapter 7 Classes & Objects, Part B
Chapter 7 Classes & Objects, Part B These note present Dog simulation example that shows how we go about OO modeling. A number of new things are introduced. They also present the Person > BirthDate example.
More informationDay 3. COMP 1006/1406A Summer M. Jason Hinek Carleton University
Day 3 COMP 1006/1406A Summer 2016 M. Jason Hinek Carleton University today s agenda assignments 1 was due before class 2 is posted (be sure to read early!) a quick look back testing test cases for arrays
More informationClasses. Classes. Classes. Class Circle with methods. Class Circle with fields. Classes and Objects in Java. Introduce to classes and objects in Java.
Classes Introduce to classes and objects in Java. Classes and Objects in Java Understand how some of the OO concepts learnt so far are supported in Java. Understand important features in Java classes.
More informationComments are almost like C++
UMBC CMSC 331 Java Comments are almost like C++ The javadoc program generates HTML API documentation from the javadoc style comments in your code. /* This kind of comment can span multiple lines */ //
More informationPrinciples of Object Oriented Programming. Lecture 4
Principles of Object Oriented Programming Lecture 4 Object-Oriented Programming There are several concepts underlying OOP: Abstract Types (Classes) Encapsulation (or Information Hiding) Polymorphism Inheritance
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationAgenda CS121/IS223. Reminder. Object Declaration, Creation, Assignment. What is Going On? Variables in Java
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors Agenda
More informationThis Week. Fields and Variables. W05 Example 1: Variables & Fields. More on Java classes. Constructors. Modifiers
This Week More on Java classes School of Computer Science University of St Andrews Graham Kirby Alan Dearle Constructors Modifiers cdn.videogum.com/img/thumbnails/photos/commenter.jpg http://www.rodgersleask.co.uk/images/sc2.jpg
More informationEncapsulation. Mason Vail Boise State University Computer Science
Encapsulation Mason Vail Boise State University Computer Science Pillars of Object-Oriented Programming Encapsulation Inheritance Polymorphism Abstraction (sometimes) Object Identity Data (variables) make
More informationOOP in Java Review. CS356 Object-Oriented Design and Programming October 1, 2014
OOP in Java Review CS356 Object-Oriented Design and Programming http://cs356.yusun.io October 1, 2014 Yu Sun, Ph.D. http://yusun.io yusun@csupomona.edu Announcement Submit your GitHub username as soon
More informationArray Basics: Outline. Creating and Accessing Arrays. Creating and Accessing Arrays. Arrays (Savitch, Chapter 7)
Array Basics: Outline Arrays (Savitch, Chapter 7) TOPICS Array Basics Arrays in Classes and Methods Programming with Arrays Searching and Sorting Arrays Multi-Dimensional Arrays Static Variables and Constants
More informationCS 61B Discussion 5: Inheritance II Fall 2014
CS 61B Discussion 5: Inheritance II Fall 2014 1 WeirdList Below is a partial solution to the WeirdList problem from homework 3 showing only the most important lines. Part A. Complete the implementation
More information10. Java Classes. Classes - Technical. Example: Earthquake catalog. Classes - Conceptual
Classes - Technical A class is an entity with a name that contains data and functionality 10. Java Classes Classes, types, objects, declaration, instantiation, constructors, encapsulation, static fields
More informationIntroduction 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
More informationChapter 4: Writing Classes
Chapter 4: Writing Classes Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Writing Classes We've been using predefined classes. Now we will learn to write our own
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 informationChapter 2: Java OOP I
Chapter 2: Java OOP I Yang Wang wyang AT njnet.edu.cn Outline OO Concepts Class and Objects Package Field Method Construct and Initialization Access Control OO Concepts Object Oriented Methods Object An
More informationCHAPTER 7 OBJECTS AND CLASSES
CHAPTER 7 OBJECTS AND CLASSES OBJECTIVES After completing Objects and Classes, you will be able to: Explain the use of classes in Java for representing structured data. Distinguish between objects and
More informationCOMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation
COMP-202 Unit 8: Defining Your Own Classes CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation Defining Our Own Classes (1) So far, we have been creating
More informationOOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity.
OOPS Viva Questions 1. What is OOPS? OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.
More informationJava Puzzle Ball Nick Ristuccia
Java Puzzle Ball Nick Ristuccia Lesson 4-3 Editing Java Code Lab 4: Finish the Banking GUI Application The Lab Instructions are available on the Lesson 4 page of the MOOC. This is an enhanced version of
More informationEncapsulation. Administrative Stuff. September 12, Writing Classes. Quick review of last lecture. Classes. Classes and Objects
Administrative Stuff September 12, 2007 HW3 is due on Friday No new HW will be out this week Next Tuesday we will have Midterm 1: Sep 18 @ 6:30 7:45pm. Location: Curtiss Hall 127 (classroom) On Monday
More informationCSIT 2008 June 28, 2008 Anita Verno, Bergen Community College,
CSIT 2008 June 28, 2008 Anita Verno, Bergen Community College, averno@bergen.edu Introducing OOD, An Example Design Methodologies Alphabet Soup: OOA, OOD, OOP Slides for an Introductory Lesson Why OOD?
More informationLecture 5: Methods CS2301
Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationUnit 5: More on Classes/Objects Notes
Unit 5: More on Classes/Objects Notes AP CS A The Difference between Primitive and Object/Reference Data Types First, remember the definition of a variable. A variable is a. So, an obvious question is:
More informationObject 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
More informationCmSc 150 Fundamentals of Computing I. Lesson 28: Introduction to Classes and Objects in Java. 1. Classes and Objects
CmSc 150 Fundamentals of Computing I Lesson 28: Introduction to Classes and Objects in Java 1. Classes and Objects True object-oriented programming is based on defining classes that represent objects with
More informationCISC-124. Passing Parameters. A Java method cannot change the value of any of the arguments passed to its parameters.
CISC-124 20180215 These notes are intended to summarize and clarify some of the topics that have been covered recently in class. The posted code samples also have extensive explanations of the material.
More informationClasses. Classes as Code Libraries. Classes as Data Structures. Classes/Objects/Interfaces (Savitch, Various Chapters)
Classes Classes/Objects/Interfaces (Savitch, Various Chapters) TOPICS Classes Public versus Private Static Data Static Methods Interfaces Classes are the basis of object-oriented (OO) programming. They
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationInheritance, cont. Notes Chapter 6 and AJ Chapters 7 and 8
Inheritance, cont. Notes Chapter 6 and AJ Chapters 7 and 8 1 Preconditions and Inheritance precondition what the method assumes to be true about the arguments passed to it inheritance (is-a) a subclass
More informationQUIZ on Ch.5. Why is it sometimes not a good idea to place the private part of the interface in a header file?
QUIZ on Ch.5 Why is it sometimes not a good idea to place the private part of the interface in a header file? Example projects where we don t want the implementation visible to the client programmer: The
More informationInheritance (Part 2) Notes Chapter 6
Inheritance (Part 2) Notes Chapter 6 1 Object Dog extends Object Dog PureBreed extends Dog PureBreed Mix BloodHound Komondor... Komondor extends PureBreed 2 Implementing Inheritance suppose you want to
More informationDay 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
More informationDesign Patterns: State, Bridge, Visitor
Design Patterns: State, Bridge, Visitor State We ve been talking about bad uses of case statements in programs. What is one example? Another way in which case statements are sometimes used is to implement
More informationEncapsulation in Java
Encapsulation in Java EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG Encapsulation (1.1) Consider the following problem: A person has a name, a weight, and a height. A person s
More informationStatic, Final & Memory Management
Static, Final & Memory Management The static keyword What if you want to have only one piece of storage regardless of how many objects are created or even no objects are created? What if you need a method
More informationCOMP 250 Winter 2011 Reading: Java background January 5, 2011
Almost all of you have taken COMP 202 or equivalent, so I am assuming that you are familiar with the basic techniques and definitions of Java covered in that course. Those of you who have not taken a COMP
More informationCHAPTER 7 OBJECTS AND CLASSES
CHAPTER 7 OBJECTS AND CLASSES OBJECTIVES After completing Objects and Classes, you will be able to: Explain the use of classes in Java for representing structured data. Distinguish between objects and
More informationAnatomy of a Class Encapsulation Anatomy of a Method
Writing Classes Writing Classes We've been using predefined classes. Now we will learn to write our own classes to define objects Chapter 4 focuses on: class definitions instance data encapsulation and
More informationObject-Oriented Programming (Java)
Object-Oriented Programming (Java) Topics Covered Today 2.1 Implementing Classes 2.1.1 Defining Classes 2.1.2 Inheritance 2.1.3 Method equals and Method tostring 2 Define Classes class classname extends
More information5. Defining Classes and Methods
5. Defining Classes and Methods Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1 Objectives! Describe and define concepts of class and object! Describe use
More informationCSC207 Week 3. Larry Zhang
CSC207 Week 3 Larry Zhang 1 Announcements Readings will be posted before the lecture Lab 1 marks available in your repo 1 point for creating the correct project. 1 point for creating the correct classes.
More informationCS1150 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
More informationQUIZ. What is wrong with this code that uses default arguments?
QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code
More informationClasses. Classes as Code Libraries. Classes as Data Structures
Classes Classes/Objects/Interfaces (Savitch, Various Chapters) TOPICS Classes Public versus Private Static Data Static Methods Interfaces Classes are the basis of object-oriented (OO) programming. They
More informationWorking with Objects. Overview. This chapter covers. ! Overview! Properties and Fields! Initialization! Constructors! Assignment
4 Working with Objects 41 This chapter covers! Overview! Properties and Fields! Initialization! Constructors! Assignment Overview When you look around yourself, in your office; your city; or even the world,
More informationInheritance in java is a mechanism in which one object acquires all the properties and behaviors of parent object.
Inheritance in Java 1. Inheritance 2. Types of Inheritance 3. Why multiple inheritance is not possible in java in case of class? Inheritance in java is a mechanism in which one object acquires all the
More informationExample: Fibonacci Numbers
Example: Fibonacci Numbers Write a program which determines F n, the (n + 1)-th Fibonacci number. The first 10 Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, and 34. The sequence of Fibonacci numbers
More information13. Java Classes. Educational Objectives. Classes - Technical. Definition: Classes
Educational Objectives You can create your own classes/data types. You understand how objects are being instantiated and used. You know the term encapsulation and are able to your situation. 13. Java Classes
More informationAnd Even More and More C++ Fundamentals of Computer Science
And Even More and More C++ Fundamentals of Computer Science Outline C++ Classes Special Members Friendship Classes are an expanded version of data structures (structs) Like structs, the hold data members
More informationIntro. Classes Beginning Objected Oriented Programming. CIS 15 : Spring 2007
Intro. Classes Beginning Objected Oriented Programming CIS 15 : Spring 2007 Functionalia HW 4 Review. HW Out this week. Today: Linked Lists Overview Unions Introduction to Classes // Create a New Node
More informationImperative Languages!
Imperative Languages! Java is an imperative object-oriented language. What is the difference in the organisation of a program in a procedural and an objectoriented language? 30 class BankAccount { private
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 informationCISC-124. Dog.java looks like this. I have added some explanatory comments in the code, and more explanation after the code listing.
CISC-124 20180115 20180116 20180118 We continued our introductory exploration of Java and object-oriented programming by looking at a program that uses two classes. We created a Java file Dog.java and
More informationSoftware Design and Analysis for Engineers
Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 1 Date:
More informationCOMP-202: Foundations of Programming. Lecture 14: static, private, public Jackie Cheung, Winter 2015
COMP-202: Foundations of Programming Lecture 14: static, private, public Jackie Cheung, Winter 2015 Announcements Assignment 3 due Tue, Feb 24 at 11:59pm 2 Happy New Year! 恭喜發財! May all your code compile
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationOOPs Concepts. 1. Data Hiding 2. Encapsulation 3. Abstraction 4. Is-A Relationship 5. Method Signature 6. Polymorphism 7. Constructors 8.
OOPs Concepts 1. Data Hiding 2. Encapsulation 3. Abstraction 4. Is-A Relationship 5. Method Signature 6. Polymorphism 7. Constructors 8. Type Casting Let us discuss them in detail: 1. Data Hiding: Every
More informationTicket Machine Project(s)
Ticket Machine Project(s) Understanding the basic contents of classes Produced by: Dr. Siobhán Drohan (based on Chapter 2, Objects First with Java - A Practical Introduction using BlueJ, David J. Barnes,
More informationRules and syntax for inheritance. The boring stuff
Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for
More informationCOMP 250 Fall inheritance Nov. 17, 2017
Inheritance In our daily lives, we classify the many things around us. The world has objects like dogs and cars and food and we are familiar with talking about these objects as classes Dogs are animals
More informationLecture 2: Java & Javadoc
Lecture 2: Java & Javadoc CS 62 Fall 2018 Alexandra Papoutsaki & William Devanny 1 Instance Variables or member variables or fields Declared in a class, but outside of any method, constructor or block
More informationChapter 15: Object Oriented Programming
Chapter 15: Object Oriented Programming Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey How do Software Developers use OOP? Defining classes to create objects UML diagrams to
More informationClasses, interfaces, & documentation. Review of basic building blocks
Classes, interfaces, & documentation Review of basic building blocks Objects Data structures literally, storage containers for data constitute object knowledge or state Operations an object can perform
More information