CSE687 - Object Oriented Design

Lecture #3 - Encapsulation

Revised: 18 January 2009
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus SG - Design SG - Templates SG - Class Relationships

Web Resources:

Stroustrup's Home Page, Assoc. of C/C++ Users, C++ at Microsoft, Code Project, Sells Brothers, Guru of the Week, C/C++ User's Journal, devCentral, Dr. Dobb's Journal, Boost Library, techNetCast

Office Hours: Instructor & TAs

Content:

This lecture is devoted to the notion of Encapsulation and basic Object Oriented Design relationships.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Project #1
  3. Project #1 statement
    Dissecting the Project #1 statement - What is hard? What is easy? Suggestions.
    Tokenizer, XmlElementParts, Prototype
    Dissecting the prototype code - Goals, Structure, design trade-offs, C++ specific details.
  4. XML Presentation
  5. Ideas behind Project #1 demos
  6. Programming to Interfaces - Diagram
  7. Programming to Interfaces - code example
  8. Encapsulation
  9. Encapsulation Principle
  10. Encapsulation Presentation
  11. Class Relationships - code example
  12. Equivalent Syntaxes
  13. Abstract Data Types Presentation