{"id":14726,"date":"2022-05-26T22:16:47","date_gmt":"2022-05-27T02:16:47","guid":{"rendered":"https:\/\/carleton.ca\/scs\/?page_id=14726"},"modified":"2026-06-09T11:15:26","modified_gmt":"2026-06-09T15:15:26","slug":"tr-57-specialization-generalization-and-inheritance","status":"publish","type":"page","link":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1984\/tr-57-specialization-generalization-and-inheritance\/","title":{"rendered":"TR-57: Specialization, Generalization and Inheritance"},"content":{"rendered":"\n
\n
\n\n
\n
\n
\n

\n TR-57: Specialization, Generalization and Inheritance\n <\/h1>\n \n \n <\/header>\n\n <\/div>\n\n <\/div>\n\n <\/div>\n<\/section>\n\n\n\n

ÐÓ°ÉÔ­´´ University
Technical Report<\/a> TR-57<\/strong>
August 1984<\/p>\n\n\n\n

Specialization, Generalization and Inheritance<\/h2>\n\n\n\n

Wilf R. LaLonde & John R. Pugh<\/p>\n\n\n\n

Abstract<\/h3>\n\n\n\n

This paper describes our experience in teaching a course in abstract data types over a four year period. Although abstract data types are a major improvement over tradi\u00adtional data structures, they provide only a portion of the concepts needed by experienced designers. These additional concepts include such notions as generalizations of data types, their specializations, relationships between data types, and the capability and necessity of abstracting common operations through inheritance mechanisms. Designing an individual abstract data type is akin to \u201cprogramming in the small\u201d but designing a library of data types introduces new problems that are best solved from the viewpoint of \u201cprogramming in the large\u201d.<\/p>\n\n\n\n

Download<\/h3>\n\n\n\n

TR-57.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

ÐÓ°ÉÔ­´´ UniversityTechnical Report TR-57August 1984 Specialization, Generalization and Inheritance Wilf R. LaLonde & John R. Pugh Abstract This paper describes our experience in teaching a course in abstract data types over a four year period. Although abstract data types are a major improvement over tradi\u00adtional data structures, they provide only a portion of the concepts needed […]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":11787,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_cu_dining_location_slug":"","footnotes":"","_links_to":"","_links_to_target":""},"cu_page_type":[88],"class_list":["post-14726","page","type-page","status-publish","hentry","cu_page_type-technical-report"],"acf":{"cu_post_thumbnail":""},"_links":{"self":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/comments?post=14726"}],"version-history":[{"count":2,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14726\/revisions"}],"predecessor-version":[{"id":24556,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14726\/revisions\/24556"}],"up":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/11787"}],"wp:attachment":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/media?parent=14726"}],"wp:term":[{"taxonomy":"cu_page_type","embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_page_type?post=14726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}