Cs 2210 sw development methods
1 / 13

CS 2210: SW Development Methods - PowerPoint PPT Presentation

  • Uploaded on

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. This Unit Overview. Review OO, objects, classes Object identity, equality and Java

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' CS 2210: SW Development Methods' - gavril

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cs 2210 sw development methods

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

This unit overview
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

What s oo all about
What’s 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

The oo approach
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

What s an object
What’s an Object?

  • Grady Booch’s 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)

What s an object 2
What’s an Object? (2)

  • Behavior

    • Responds to operations, messages (e.g. Java method calls on that object)

    • Interacts with other objects to accomplish a task

What s an object 3
What’s 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

Object equality
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 (let’s say)

    • Book’s term: content equivalence

For objects do you think tests for
For objects, do you think == tests for:

  • Name equivalence

  • Content equivalence

  • Neither one

  • Both

Do you think equals returns true for
Do you think equals() returns true for:

  • Name equivalence

  • Content equivalence

  • Neither one

  • Either

Example: x.equals(y) is true means what about x and y?

Java and object equivalence
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. x==y 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”?


  • So far we’ve 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, aren’t they?

    • cs2110, cs2102, engr1620 – Courses

Classes type
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 object’s class is one form of object-type