Object-oriented Design and Programming - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Object-oriented Design and Programming

Description:

This Unit Overview Review OO, objects, classes Object identity, ... Grady Booch s definition: an object has: state, behavior, identity State encapsulates data ... – PowerPoint PPT presentation

Number of Views:209
Avg rating:3.0/5.0
Slides: 14
Provided by: TomHo151
Category:

less

Transcript and Presenter's Notes

Title: Object-oriented Design and Programming


1
CS 2210 SW Development Methods
  • Object-oriented Design and Programming
  • Reading Chapter 2 of MSD text
  • Section 2.3.2 on UML look at class diagrams
    but ignore the rest for now

2
This Unit Overview
  • Review OO, objects, classes
  • Object identity, equality and Java
  • Intro to abstraction and inheritance
  • Class identification and modeling
  • Modeling object interaction
  • More Java details on classes etc.
  • inheritance, abstract classes, types

3
Whats OO All About?
  • At a very high level, programs are
  • procedures operating on
  • data-objects
  • The old view sometimes called procedural
  • Procedures are the starting point
  • Access data through parameters, shared values
  • Only approach for languages like C, Pascal
  • A system is a hierarchy of procedure calls

4
The OO Approach
  • Object-oriented
  • Emphasis on the data-objects first
  • Data encapsulation
  • Associate procedures with the data-objects
  • Procedural encapsulation
  • Call operations on data-objects, or
  • Send a data-object a message
  • A system is a group of collaborating objects

5
Whats an Object?
  • Grady Boochs definition an object has
    state, behavior, identity
  • State
  • encapsulates data (e.g. fields in Java objects)
  • contains relationships with other objects (e.g.
    references to other objects)

6
Whats an Object? (2)
  • Behavior
  • Responds to operations, messages (e.g. Java
    method calls on that object)
  • Interacts with other objects to accomplish a task

7
Whats an Object? (3)
  • Identity
  • Simple idea, but
  • Are two objects the same? Or are they equal?
  • Reference variables in Java, C, etc.
  • Identity means refers to the same object
  • Book calls this name equivalence

8
Object Equality
  • Equality perhaps two things can be different
    things, but equal according to some
    problem-defined condition
  • E.g. two Course objects equal if same courseID
    field (lets say)
  • Books term content equivalence

9
For objects, do you think tests for
  1. Name equivalence
  2. Content equivalence
  3. Neither one
  4. Both

10
Do you think equals() returns true for
  1. Name equivalence
  2. Content equivalence
  3. Neither one
  4. Either

Example x.equals(y) is true means what about x
and y?
11
Java and Object Equivalence
  • Java supports both. You must understand them
    both!
  • If not see slides at the end of this deck
  • name equivalence operator
  • E.g. xy means do x and y reference the same
    (one) object?
  • method boolean equals()
  • E.g. x.equals(y) means do x and y stored the
    same values to make them content equivalent?

12
Classes
  • So far weve just talked about objects
  • We note that many objects are a type of the
    same kind of thing
  • The same abstraction
  • E.g. 1, 2, 7 and 10 whole numbers
  • E.g. 1, 3.5, 25, pi numbers
  • Bob, Sally, Joe Students
  • But, they are Persons too, arent they?
  • cs2110, cs2102, engr1620 Courses

13
Classes, Type
  • Classes define a set of objects with the same
    properties (state, behavior)
  • A class definition serves as a cookie cutter
    for creating new objects
  • Instantiation of an object of a certain class
  • In Java, we do this with new and a constructor is
    called
  • Creates an individual object, also called an
    instance
  • Variables and data objects have a type
  • What the rules are for that object
  • An objects class is one form of object-type
Write a Comment
User Comments (0)
About PowerShow.com