Student Originated Software 1997-1998
Fall Quarter

A Software Engineering Course at
The Evergreen State College

ARCHIVE -

Student Originated Software

Object-Oriented Programming (Smalltalk)

Lecture 3b

  • Some (perhaps new) ideas
  • Class Hierarchy - Inheritance (self and super)
  • SE (Analysis) Concepts
  • Class variables & protocols
  • Abstract superclasses & collections
  • Next week's (reading) assignment & today's Lab....
  • Additional Concepts....
  • Class Hierarchy (Ch. 11 - inheritance)
  • SE (analysis) concepts

OOD -- Class, Responsibility, Collaboration

    Entity-Relationship Modeling (ERD) & OOM
    Entities, Attributes & Methods
    The Financial History Domain
    Class variables & protocols
    Class Variables -- available to class methods & instance methods.
    Date - DaysInMonth FirstDayOfMonth MonthNames -
    LookPreferences .......why not use instance variables?

Class Instance Variables

declared once in a parent class - each subclass has own copy, can assign to it independently (and can use parent methods) ...........why not use class variables?

Pool Variables

stored in a pool dictionary (allows a shared lexicon among classes!).
  1. declare the dictionary as a global variable; intialize it as a Dictionary.
  2. declare the dictionary as a pool in class. Then use the name (rather than the value). space, tab in TextConstants associates names w/ character codes!
    ...........why not use class variables?

    Smalltalk Scope of Variables

    Class Protocols

    instance creation
    class initialization
    examples
    private
    accessing
    instance management

    Abstract Superclasses

    Number & Geometric

    Collections

    Unordered - Set, Dictionary, Bag
    Sequenceable
      Array (fixed size)
      Ordered Collection

    Lab

    • 10.9 (why would this be inefficient? then start Ch. 11.
    • 11.4 (once you've entered FinancialHistory, design an extension to it and try that out.)
    • 11.5 ( bring your notes on this to class on Tuesday)
    • Make sure you understand class variables (12.1, 2, 4, 5)
    • 12.6 (everyone); 12.7 (optional)
    • explore class instance variables 12.8, 12.9
    • explore pool dictionaries 12.10 (optional)
    • explore number & geometric classes (use the exercises) 13.4,5 (bring Tue), *13.15, *13.16

    Next week's Reading Asst:

    Ch. 14, 15 (Tue)
    Ch.16,17 (Thu)

    Programming Asst:

    11.4, 13.15, 13.16, tba on collections

    [ SOS Home Page | Case Study | Year Long Projects | OOP ]


For more information contact
[ Evergreen Home Page | Academic Programs ]


Created by: SoSwEbGrOuP
E-mail: ringert@evergreen.edu