Re: [BLACKBOX] Questions about Inheritance

From: [at]} <Chris>
Date: Thu, 10 Mar 2011 09:01:46 +1030

----boundary-LibPST-iamunique-185967244_-_-
Content-type: text/plain

>-----Original Message-----
>From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
>Rainer Neubauer
>Sent: Thursday, 10 March 2011 2:50 AM
>To: BLACKBOX{([at]})nowhere.xy
>Subject: [BLACKBOX] Questions about Inheritance
>
>Hi all,
>the BB heavily relies on OO concepts. Unfortunately I don't
>understand many of them.
>The docu suggests to avoid implementation inheritance and to
>use object composition instead. But what are the language
>features which cause implementation inheritance (i.e. which
>should be avoided) ? Is it just the super call or something else ?
>
>I would appreciate if somebody could give me some hints in
>understanding these things or perhaps some links to
>explanatory texts to read.

To help understand OO concepts in an Oberon-language context I highly
recommend Hanspeter Mössenböck's excellent book: "Object-Oriented
Programming in Oberon-2":

http://www.ssw.uni-linz.ac.at/Research/Books/

I believe it is out of print but Amazon currently has one used and two new
copies.

If you want a taste of what is in the book read his earlier paper with the
same title which was presented at the 2nd International Modula-2 Conference.
It can be downloaded in Postscript format from:

http://www.ssw.uni-linz.ac.at/Research/Papers/Moe91.html

Another book that explictly mentions both implementation inheritance and
object composition is "Component Software - Beyond Object-Oriented
Programming" by Clemens Szyperski (a key contributor to both BlackBox and
Component Pascal):

http://research.microsoft.com/~cszypers/Books/component-software.htm

However, I always hesitate to personally recommend this one as I find it
difficult to comprehend,

Regards,
Chris

Chris Burrows
CFB Software
Astrobe v3.3: ARM Oberon-07 Development System
http://www.astrobe.com


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-185967244_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCA+LS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS1ccGFyDQo+RnJvbTogQmxhY2tCb3ggW21haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVS
T04uQ0hdIE9uIEJlaGFsZiBPZiBccGFyDQo+UmFpbmVyIE5ldWJhdWVyXHBhcg0KPlNlbnQ6IFRo
dXJzZGF5LCAxMCBNYXJjaCAyMDExIDI6NTAgQU1ccGFyDQo+VG86IEJMQUNLQk9YQExJU1RTLk9C
RVJPTi5DSFxwYXINCj5TdWJqZWN0OiBbQkxBQ0tCT1hdIFF1ZXN0aW9ucyBhYm91dCBJbmhlcml0
YW5jZVxwYXINCj5ccGFyDQo+SGkgYWxsLFxwYXINCj50aGUgQkIgaGVhdmlseSByZWxpZXMgb24g
T08gY29uY2VwdHMuIFVuZm9ydHVuYXRlbHkgSSBkb24ndCBccGFyDQo+dW5kZXJzdGFuZCBtYW55
IG9mIHRoZW0uXHBhcg0KPlRoZSBkb2N1IHN1Z2dlc3RzIHRvIGF2b2lkIGltcGxlbWVudGF0aW9u
IGluaGVyaXRhbmNlIGFuZCB0byBccGFyDQo+dXNlIG9iamVjdCBjb21wb3NpdGlvbiBpbnN0ZWFk
LiBCdXQgd2hhdCBhcmUgdGhlIGxhbmd1YWdlIFxwYXINCj5mZWF0dXJlcyB3aGljaCBjYXVzZSBp
bXBsZW1lbnRhdGlvbiBpbmhlcml0YW5jZSAoaS5lLiB3aGljaCBccGFyDQo+c2hvdWxkIGJlIGF2
b2lkZWQpID8gSXMgaXQganVzdCB0aGUgc3VwZXIgY2FsbCBvciBzb21ldGhpbmcgZWxzZSA/XHBh
cg0KPlxwYXINCj5JIHdvdWxkIGFwcHJlY2lhdGUgaWYgc29tZWJvZHkgY291bGQgZ2l2ZSBtZSBz
b21lIGhpbnRzIGluIFxwYXINCj51bmRlcnN0YW5kaW5nIHRoZXNlIHRoaW5ncyBvciBwZXJoYXBz
IHNvbWUgbGlua3MgdG8gXHBhcg0KPmV4cGxhbmF0b3J5IHRleHRzIHRvIHJlYWQuIFxwYXINClxw
YXINClRvIGhlbHAgdW5kZXJzdGFuZCBPTyBjb25jZXB0cyBpbiBhbiBPYmVyb24tbGFuZ3VhZ2Ug
Y29udGV4dCBJIGhpZ2hseVxwYXINCnJlY29tbWVuZCBIYW5zcGV0ZXIgTVwnZjZzc2VuYlwnZjZj
aydzIGV4Y2VsbGVudCBib29rOiAiT2JqZWN0LU9yaWVudGVkXHBhcg0KUHJvZ3JhbW1pbmcgaW4g
T2Jlcm9uLTIiOlxwYXINClxwYXINCmh0dHA6Ly93d3cuc3N3LnVuaS1saW56LmFjLmF0L1Jlc2Vh
cmNoL0Jvb2tzL1xwYXINClxwYXINCkkgYmVsaWV2ZSBpdCBpcyBvdXQgb2YgcHJpbnQgYnV0IEFt
YXpvbiBjdXJyZW50bHkgaGFzIG9uZSB1c2VkIGFuZCB0d28gbmV3XHBhcg0KY29waWVzLiBccGFy
DQpccGFyDQpJZiB5b3Ugd2FudCBhIHRhc3RlIG9mIHdoYXQgaXMgaW4gdGhlIGJvb2sgcmVhZCBo
aXMgZWFybGllciBwYXBlciB3aXRoIHRoZVxwYXINCnNhbWUgdGl0bGUgd2hpY2ggd2FzIHByZXNl
bnRlZCBhdCB0aGUgMm5kIEludGVybmF0aW9uYWwgTW9kdWxhLTIgQ29uZmVyZW5jZS5ccGFyDQpJ
dCBjYW4gYmUgZG93bmxvYWRlZCBpbiBQb3N0c2NyaXB0IGZvcm1hdCBmcm9tOlxwYXINClxwYXIN
Cmh0dHA6Ly93d3cuc3N3LnVuaS1saW56LmFjLmF0L1Jlc2VhcmNoL1BhcGVycy9Nb2U5MS5odG1s
XHBhcg0KXHBhcg0KQW5vdGhlciBib29rIHRoYXQgZXhwbGljdGx5IG1lbnRpb25zIGJvdGggaW1w
bGVtZW50YXRpb24gaW5oZXJpdGFuY2UgYW5kXHBhcg0Kb2JqZWN0IGNvbXBvc2l0aW9uIGlzICJD
b21wb25lbnQgU29mdHdhcmUgLSBCZXlvbmQgT2JqZWN0LU9yaWVudGVkXHBhcg0KUHJvZ3JhbW1p
bmciIGJ5IENsZW1lbnMgU3p5cGVyc2tpIChhIGtleSBjb250cmlidXRvciB0byBib3RoIEJsYWNr
Qm94IGFuZFxwYXINCkNvbXBvbmVudCBQYXNjYWwpOlxwYXINClxwYXINCmh0dHA6Ly9yZXNlYXJj
aC5taWNyb3NvZnQuY29tL35jc3p5cGVycy9Cb29rcy9jb21wb25lbnQtc29mdHdhcmUuaHRtXHBh
cg0KXHBhcg0KSG93ZXZlciwgSSBhbHdheXMgaGVzaXRhdGUgdG8gcGVyc29uYWxseSByZWNvbW1l
bmQgdGhpcyBvbmUgYXMgSSBmaW5kIGl0XHBhcg0KZGlmZmljdWx0IHRvIGNvbXByZWhlbmQsXHBh
cg0KXHBhcg0KUmVnYXJkcyxccGFyDQpDaHJpc1xwYXINClxwYXINCkNocmlzIEJ1cnJvd3NccGFy
DQpDRkIgU29mdHdhcmVccGFyDQpBc3Ryb2JlIHYzLjM6IEFSTSBPYmVyb24tMDcgRGV2ZWxvcG1l
bnQgU3lzdGVtXHBhcg0KaHR0cDovL3d3dy5hc3Ryb2JlLmNvbVxwYXINClxwYXINClxwYXINCi0t
LS1ccGFyDQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZG
IEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0hccGFyDQp9
----boundary-LibPST-iamunique-185967244_-_---
Received on Wed Mar 09 2011 - 23:31:46 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:17 UTC