Object Oriented Programming with Smalltalk
Total Page:16
File Type:pdf, Size:1020Kb
2EMHFW2ULHQWHG3URJUDPPLQJZLWK 6PDOOWDON by Bryce Hendrix Disclaimer: This document is provided for educational purposes, and contains some non- original content. If you are the author of any material included in this document and would like it removed, please send mail to Bryce Hendrix at KHQGUL[#HQJUDUL]RQDHGX and it will be removed immediately. Contents of this document cannot be used for commercial usage without explicit permission from the author. 2 /HFWXUH:KDWLVDQ2EMHFW" BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5XOHVRI6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • :KDW¶VVSHFLDODERXWDQ2EMHFW" BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 22YHUVXV3URFHGXUDO$SSURDFKWRSURJUDPPLQJ BBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH&ODVVHVDQG,QVWDQFHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,QVWDQFH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0HVVDJHV0HWKRGVDQG3URJUDPPLQJLQ6PDOOWDON BBBBBBBBBBBBBBBBB • 0HVVDJHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3URJUDPPLQJLQ6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH22&ODVVLILFDWLRQ7HFKQLTXHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6SHFLDOL]DWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • $EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPSRVLWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • )DFWRUL]DWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH(QFDSVXODWLRQ 3RO\PRUSKLVP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • (QFDSVXODWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3RO\PRUSKLVP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH223DVV3URFHVV±DQ,QYHVWPHQW0DQDJHU BBBBBBBBBBBBBBBBBBBBBB • 3DVV$EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV$EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV&RPSRVLWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV)DFWRUL]DWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH2EMHFW&ODVVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • )XQFWLRQDOLW\RIDQREMHFW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPSDULVRQRIREMHFWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RS\LQJREMHFWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • $FFHVVLQJLQGH[HGYDULDEOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0HVVDJHV 0HWKRGV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HVVDJH([SUHVVLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRG/RRNXS BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 3 /HFWXUH9DULDEOHVDQG5HWXUQYDOXHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGDUJXPHQWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7HPSYDULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,QVWDQFHYDULDEOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVVLQVWDQFHYDULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV9DULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • *OREDO9DULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5HWXUQ9DOXHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH%ORFNVDQG%UDQFKLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • %ORFNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV%RROHDQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • %UDQFKLQJ &RQWURO6WUXFWXUHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH5HSRUWLQJ(UURUVDQG'HEXJJLQJWHFKQLTXHV BBBBBBBBBBBBBBBBBBBBBB • (UURU+DQGOLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HVVDJH+DQGOLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV8QGHILQHG2EMHFW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HEXJJLQJBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • KDOW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH'HVLJQLQJDQGLPSOHPHQWLQJFODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WHSVWRGHYHORSDVSHFLILFDWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7KHPHVVDJHSURWRFRO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WHSVWRLPSOHPHQWLQJDFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HVFULELQJDFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6WDUWLQJ9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9LVXDO:RUNV/DXQFKHUBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB :RUNVSDFH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 8VLQJWKH0RXVHDQGWKH3RS8S0HQXV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6HWWLQJXS9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2QOLQH'RFXPHQWDWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6\VWHP%URZVHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB )LOLQJ,QDQG)LOLQJ2XW&RPSRQHQWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Filing In ________________________________________________________________________ 48 Filing Out_______________________________________________________________________ 49 4 6WDUWLQJDQ$SSOLFDWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6DYLQJ<RXU:RUN BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0RUHRQWKH%DVLF9LVXDO:RUNV(QYLURQPHQW BBBBBBBBBBBBBBBBBBBBB :RUNVSDFHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 7KH7UDQVFULSWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB (GLWLQJLQ9LVXDO:RUNV:LQGRZV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 8VLQJD%URZVHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJD1HZ0HWKRG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJ1HZ&ODVVHVRU0HWKRGV)URP([WHUQDO)LOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBB &KDQJLQJ([LVWLQJ0HWKRGV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJD1HZ&ODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6DYLQJ&RGHLQWRD)LOH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH6\VWHP 0DJQLWXGH&ODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 2YHUYLHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6KDUHG2EMHFW3URWRFROVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • EDVLFVXEFODVVHVRIWKH0DJQLWXGHFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGVSURYLGHGIRUFRPSDULVRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ([DPSOH0RUHPHWKRGVIRUFRPSOH[QXPEHUV BBBBBBBBBBBBBBBBBBBBBBBBBB • 3DUWLDO+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7\SH&RQYHUVLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7UXQFDWLRQIORRUFHLOLQJDQGUHPDLQGHUV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0DWKHPDWLFDO2SHUDWLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'DWHDQG7LPH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH&ROOHFWLRQ&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6PDOOWDON¶VRSWLPL]HG&ROOHFWLRQFODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DUWLDO+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,WHUDWLRQ ZKDW\RXFDQGRZLWKFROOHFWLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH$QH[DPSOHXVLQJWKH&ROOHFWLRQ&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH6WUHDP&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRUDOO6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU3RVLWLRQDEOH6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU5HDG6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 5 • ,PSRUWDQWPHWKRGVIRU:ULWH6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU([WHUQDODQG)LOH6WUHDPVBBBBBBBBBBBBBBBBBBBBBBBB • &RPPRQ0LVWDNHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • +LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0DWUL[([DPSOHXVLQJ6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH'HSHQGHQF\0HFKDQLVPVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HSHQGHQF\BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH0RGHO9LHZ&RQWUROOHU3DUDGLJP BBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HILQLWLRQVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 0RGHO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH9LHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9LHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH&RQWUROOHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[9LVXDO:RUNVYHUVXV6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBB 'LIIHUHQFHVIRXQGWKURXJKRXWWKHOHFWXUHQRWH¶VH[DPSOHVBBBBBBBBBBBBBBBBBB • &ODVVHVUHPRYHGIURP9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[9LVXDO:RUNVUXOHVDQG6PDOOWDON6\QWD[ BBBBBBBBBBBBBBBBBBBBBBBB • &DSLWDOL]DWLRQUXOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5HVHUYHGZRUGVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 2SHUDWRUV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • /LWHUDOV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPPHQWVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[$/LVWRI0HWKRGVIRUWKH6\VWHP&ODVVHV BBBBBBBBBBBBBBBBBBBBBBB 0DJQLWXGHBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB &ROOHFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6WUHDP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ,QGH[ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB