Concept-Oriented Programming - Classes and Inheritance Revisited
Alexandr Savinov
2012
Abstract
The main goal of concept-oriented programming (COP) is describing how objects are represented and accessed. References (object locations) in COP are made first-class elements responsible for many important functions which are difficult to model via objects. COP rethinks and generalizes such primary notions of object-orientation as class and inheritance by introducing a novel construct, concept, and a new relation, inclusion. They make it possible to describe many mechanisms and patterns of thoughts currently belonging to different programming paradigms: modeling object hierarchies (prototype-based programming), precedence of parent methods over child methods (inner methods in Beta), modularizing cross-cutting concerns (aspect-oriented programming), value-orientation (functional programming).
References
- Borning, A. H., 1986. Classes versus prototypes in objectoriented languages. In Proc. ACM/IEEE Fall Joint Computer Conference, 36-40
- Goldberg, D. S., Findler, R. B., Flatt, M., 2004. Super and inner: together at last! In Proc. OOPSLA'04, 116-129
- Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J., 1997. AspectOriented Programming, In Proc. ECOOP'97, 220-242
- Kristensen, B. B., Madsen, O. L., Moller-Pedersen, B., Nygaard, K., 1987. The Beta programming language, In Research Directions in Object-Oriented Programming, B. Shriver, P. Wegner (Eds.), 7-48
- LaLonde, W. R., Thomas, D. A., Pugh, J. R., 1986. An exemplar based Smalltalk. In Proc. OOPSLA'86, 322- 330
- Lieberman, H., 1986. Using prototypical objects to implement shared behavior in object-oriented systems. In Proc. OOPSLA'86, 214-223
- Madsen, O. L., Møller-Pedersen, B., 1989. Virtual Classes: A Powerful Mechanism in Object-Oriented Programming. In Proc. OOPSLA'89, 397-406
- Savinov, A., 2005. Concept as a Generalization of Class and Principles of the Concept-Oriented Programming. Computer Science Journal of Moldova, 13(3), 292- 335
- Savinov, A., 2008. Concepts and Concept-Oriented Programming. Journal of Object Technology 7(3), 91- 106
- Savinov, A., 2009. Concept-Oriented Programming. Encyclopedia of Information Science and Technology, 2nd Edition, Editor: Mehdi Khosrow-Pour, IGI Global, 672-680
- Savinov A. (2011) Concept-Oriented Model: Extending Objects with Identity, Hierarchies and Semantics, Computer Science Journal of Moldova, 19(3), 254- 287.
- Savinov A. (2012) Concept-Oriented Model: Classes, Hierarchies and References Revisited, Journal of Emerging Trends in Computing and Information Sciences, 3(4), 456-470.
- Stein, L. A., 1987. Delegation Is Inheritance. In Proc. OOPSLA'87, 138-146
Paper Citation
in Harvard Style
Savinov A. (2012). Concept-Oriented Programming - Classes and Inheritance Revisited . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 381-387. DOI: 10.5220/0004082303810387
in Bibtex Style
@conference{icsoft12,
author={Alexandr Savinov},
title={Concept-Oriented Programming - Classes and Inheritance Revisited},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},
year={2012},
pages={381-387},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004082303810387},
isbn={978-989-8565-19-8},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - Concept-Oriented Programming - Classes and Inheritance Revisited
SN - 978-989-8565-19-8
AU - Savinov A.
PY - 2012
SP - 381
EP - 387
DO - 10.5220/0004082303810387