Object Oriented Design and Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Object Oriented Design and Programming

Description:

Said to be object based OOPL Software Tools Object Oriented Programming (OOP) C++ Using Microsoft Visual Studio C++ compiler Object Oriented Design (OOD) ... – PowerPoint PPT presentation

Number of Views:543
Avg rating:3.0/5.0
Slides: 16
Provided by: AlanG75
Category:

less

Transcript and Presenter's Notes

Title: Object Oriented Design and Programming


1
Object Oriented Design and Programming
  • Alan Goude
  • Email a.goude_at_shu.ac.uk
  • Room Sheaf 9323

2
Unit delivery and assessment
  • weeks 1 - 6
  • 2hr lectures, 1hr labs
  • weeks 7 -12
  • 1hr lectures, 2hr labs
  • 100 coursework assessment
  • Two Assignments each contributing 50

3
Topics -
  • The object oriented approach OOA,OOD and OOP
  • C Stream Input/Output
  • Reference variables
  • Classes
  • Terminology
  • Class members data and functions(methods)
  • Class access public, private protected
  • Separation of interface from implementation
  • Constructor and destructors
  • function overloading
  • Dynamic memory allocation
  • Object aggregation and composition
  • UML notation for classes and class aggregation.

4
Topics -
  • Operator overloading
  • Additional class features
  • Friend functions
  • Static members
  • Inheritance
  • Polymorphism
  • Abstract classes, Virtual functions
  • Templates, Standard Template Libray More UML
    (time permitting)

5
Books
  • Thinking in C by Bruce Eckel
  • Vol.1 (basics) and Vol.2 (advance features)
  • Assumes knowledge of C
  • Free Electronic versions available from-
  • http//www.mindview.net/Books
  • C How to program by Deitel Deitel
  • See info at http//www.deitel.com/
  • Fourth Edition available Oct 2002
  • Includes a version of Microsoft Visual C

6
Other books and information sources
  • Object-Oriented Analysis and Design with
    Applications by Grady Booch
  • Unified Modelling Language User Guide by Grady
    Booch, Ivar Jacobson, James Rumbaugh
  • UML Distilled A Brief Guide to the Standard
    Object Modeling Language (2nd Edition) by Martin
    Fowler, Kendall Scott
  • My Web page - http//www.shu.ac.uk/schools/eng/tea
    ching/ag1
  • Try a www.google.com search

7
Object Oriented Design and Programming
  • OOD Major proponents and developers
  • Grady Booch, Ivar Jacobson, and James Rumbaugh
  • Unified Modelling Language (UML)
  • OOP Several OOP languages
  • Smalltalk, Eiffel. Pure OOPL
  • C, Java. Said to be object based OOPL

8
Software Tools
  • Object Oriented Programming (OOP)
  • C
  • Using Microsoft Visual Studio C compiler
  • Object Oriented Design (OOD)
  • UML (Unified Modelling Language)

9
Object Model
  • Key ideas
  • Abstraction
  • Encapsulation
  • Modularity
  • Hierarchy
  • Minor elements of the object model
  • Typing (language dependent data typing)
  • Concurrency (OS dependent)
  • Persistence

10
Abstraction
  • Helps to deal with complexity by focusing on
    certain features and suppressing others.
  • Focus on interface (outside view)
  • Separate behaviour from implementation

11
Hierarchy
  • A way of ordering abstractions
  • Object hierarchical abstractions (HAS A or
    PART OF relationship)
  • Interfaces and behaviours at each level
  • Higher levels are more abstract

12
Encapsulation
  • Also known as information hiding
  • Hides the details of the implementation
  • Complementary to abstraction

13
Abstraction, Encapsulation and Software Design
  • Interface should be simple, providing the
    required behaviour.
  • User is presented with high level abstract view.
    The detail of the implementation is hidden from
    the user.
  • The designer may change the implementation
    keeping the interface the same.

14
Modularity
  • A common Divide and conquer approach
  • Partitions a problem into sub-problems reducing
    complexity
  • Modularity packages abstractions into discrete
    units
  • In C classes are the basic modules providing
    encapsulation and abstraction

15
Re-usability - Inheritance
  • Class Hierarchies
  • Derived class inherits properties and behaviour
    of a base class
  • Allows code re-use.
  • Derived classes can have
  • additional properties and behaviour,
  • or over-ride inherited behaviour.
Write a Comment
User Comments (0)
About PowerShow.com