120 likes | 308 Views
Introduction To OOP. OOP is an approach for writing software in which data and behavior are packaged together as classes whose instances are objectsA class is a named software representation for an abstraction, whereAn abstraction is a named collection of attributes and behavior relevant to mode
E N D
1. OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar
Dept. of Electrical and Computer Engineering, WVU
2. Introduction To OOP OOP is an approach for writing software in which data and behavior are packaged together as classes whose instances are objects
A class is a named software representation for an abstraction, where
An abstraction is a named collection of attributes and behavior relevant to modeling a given entity for some particular purpose,
An object is a distinct instance of a given class that is structurally identical to all other instances of that class.
Software code in OOP is written to define classes, instantiate objects, and manipulate these objects.
3. Abstraction
4. Mapping Abstractions
5. Class Structure
6. Object Structure
7. Summary of the Course This is a project-based, lab-oriented course aimed at learning the fundamentals
of Object-Oriented Program development in C++. Topics include
1. Object-Oriented programming concepts
2. The C++ Program Structure
3. The C++ Data Types
4. Functions, Scope, and the Free Store
5. The C++ class
6. Operator Overloading
7. Class Derivation and inheritance
8. Multiple inheritance, and polymorphism
9. Object-Oriented Analysis and Design
10 OOP testing techniques
8. Basic Concepts of OOP
9. Basic Concepts of OOP
4. Reusing code through inheritance. A hierarchy of classes allow derived classes to inherit code (i.e.., data structures and functions) defined in parent classes. For example,
10. Basic Concepts of OOP
5. Function and Operator Overloading. A class may contain several functions with the same function name but with different arguments, or operators such as + , -, *, and / are used to define operations on different objects, e.g.... matrix multiply can be defined as A * B, where A and B are objects of type Matrix.
6. Polymorphism where objects of distinct classes can be manipulated using only knowledge of their common properties without regard for their exact class.
11. Basic Concepts of OOP
12. Basic Concepts of OOP 7. The use of templates to design generic classes of objects
13. Basic Concepts of OOP
8. The use of friend functions and friend classes to access all the functions and data types of other classes (violates the concept of information hiding; adds needed flexibility and should only be used when necessary).
9. Design using Class Libraries and Design Patterns