CSE687 - Object Oriented Design

Lecture #3 - Encapsulation

Revised: 22 January 2008
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
    Dissecting the Project #1 statement - What is hard? What is easy? Suggestions.
    Tokenizer, SemiExpression, Prototype
    Dissecting the prototype code - Goals, Structure, design trade-offs, C++ specific details.
  3. More elaborate code analyzer
  4. Programming to Interfaces - Diagram
  5. Programming to Interfaces - code example
  6. Encapsulation Principle
  7. Encapsulation Presentation
  8. Class Relationships - code example
  9. Equivalent Syntaxes
  10. Abstract Data Types Presentation
  11. Lecture #3 folder contains a page of links to presentations and code discussed in this class. The Lecture folders will occasionally hold physical files of interest as well. Usually, however, all the materials of interest to the class are in the presentations and code folders. The contents of these folders will grow as you progress through the course.