Professional Documents
Culture Documents
What is an object?
Tangible Things Roles Incidents Interactions Specifications as a car, printer, ... as employee, boss, ... as flight, overflow, ... as contract, sale, ... as colour, shape,
Or
An "object" is anything to which a concept applies. Etc.
5
+
8
Basic Terminology
Abstraction is the representation of the essential features of an object. These are encapsulated into an abstract data type. Encapsulation is the practice of including in an object everything it needs hidden from other objects. The internal state is usually not accessible by other objects.
13
14
Historical Notes
C++ owes most to C. Other ancestors are Simula67 C++ 1987 and Algol68. First versions of C++ in 1980 under the name C with classes. Since 1983 the name C++ is used. 1990: ANSI/ISO 9899 defines a standard for C 1998: ISO/IEC 14882 specifies the 15 standard for C++
C++ and C
C is a subset of C++. Advantages: Existing C libraries can be used, efficient code can be generated. But: C++ has the same caveats and problems as C (e.g. pointer arithmetic,). C++ can be used both as a low level and as a high level language.
16
So, C++ is more powerful but also more difficult to handle than Java.
17
Module Outline
Introduction The non object oriented basics Classes Design Approaches Testing Inheritance Aggregation Polymorphism Multifile Development
18
Assessment Details
50% in course and 50% exam. For more details for the in course assignment see separate handout.
19
Books
Teach Yourself C++ in 10 minutes, J. Liberty, SAMS 1999. C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Object Oriented Programming with C++, David Parson, Letts Educational, London 1997.
20
Websites
A C++ online tutorial: http://www.cplusplus.com/doc/tutorial/ The C++ FAQ: http://www.parashift.com/c++-faq-lite The homepage of Bjarne Stroustrup, the inventor of C++: http://www.research.att.com/~bs
21