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!).
declare the dictionary as a global variable;
intialize it as a Dictionary.
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