use a uml example to show an object
+---------+
| |
| Point |
+---------+
+ +x: int |
| +y: int |
+----------------------+
| +area(): int |
| +isOrigin(): boolean |
| +myfnc(int,int): int |
+----------------------+
information hiding
syntactic elision of this/self
classes
inheritance
+-----------------+
| StyledPoint |
+-----------------+
| +color: Color | /* enum types, explain, too */ |\
| +styled: bool |------------------------------------------| >
+-----------------+ |/
[ need to draw uml diagrams better... ]
more points to cover...
- primitive (built-in) vs. user defined
- wrapper objects
- syntactic conventions (e.g., operator->() as operator.() and
operator*()
then cover binding times of classes, e.g., when static methods fire,
when
allocators, con/de/structors, dedallocators run, etc.
dynamic vs. static "typing", but types different than o-o classes
- class-less objects, prototypes instance creations, null in-situ
creation,
Ruby oneof instances -- use classes, but act like class-less.
Smalltalk's
class Class.
- base class (Object)