Home     Contact us    Feedback       
 
 
 
 

 

The Foundation Module Courses

Object Oriented Programming

Course Objectives


Students learn the concepts and the meaning of Object-Orientation. They will be able to differentiate between Structured Abstract Data Type and Classes data type. They acquire the knowledge of the Encapsulation, Properties, Methods, and Polymorphism and how to implement these concepts in the most common Object-Oriented programming languages. Furthermore, they acquire the concept of Embedded objects and the different between it and the concept of Inheritance. The types of inheritance will be discussed in details. Students will understand the need of Virtual functions and Pure Virtual functions in case of inheritance, and so the overriding concept. Abstract classes and Interfaces will be covered in this course.

Prerequisites:
Data Structures & Algorithms

Course Description

Lect 1:
- History of programming: Linear, Structured, and Object-Oriented.
- Object-Oriented Terminologies and Concepts
• Class
• Object
• Encapsulation
• Behavior and Properties
• Methods & Functions
• Message
• Public and Private Members
• Inheritance

Lect 2: ( Lab 1)
- Starting in Object-Oriented
• Classes, Objects, and Instances.
• Properties and its values
• How to call Methods?
- Encapsulations and Members’ Modifiers
• Public Members
• Private Members

Lect 3: (Lab 2)
- Polymorphism (function overloading)
• The meaning of Polymorphism
• The advantages of polymorphism
• The problems could be faced and its solutions

Lect 4: (Lab 3)
- Objects Creation & Deletion
• Constructors
• Constructor Overloading
• Destructors

Lect 5: (Lab 4 )
- Static and Instance Members
• The Meaning of static
• Compare the Static in Structured programming and Object-Oriented programming
• Using of Static Members
• Static members and local Static members

Lect 6: (Lab 5)
- Operator overloading
• The main Functions of any operator
• The additional Functionality and how to add it
• The disadvantages of operator overloading

Lect 7: (Lab 6)
- Embedded objects
• How to use an object in another object
• Object as an input parameter in a Method
• Object as a return data type from a Method
• This pointer
• Copy Constructor

Lect 8,9: (Lab 7,8)
- Inheritance
• The meaning of inheritance
• Protected members
• Inheritance type
• The different between inheritance and embedded objects
• Pointer to Base class

Lect 10: (Lab 9, 10)
- Overriding
• The meaning of overriding
• Virtual Functions
• Pure Virtual Functions (Abstract Method)
• Abstract Class

Lect 11: (lab 11)
- Multi-Inheritance and Multiple Inheritance
• The needing of Multi-Inheritance
• The needing of Multiple Inheritance
• The problems with multiple inheritance
• Virtual classes
• Interfaces as a substitution of multiple inheritance

Lect 12: (Lab 12)
- Inner Classes
• Inner class inside a class
• Inner class inside a method
• The level of accessibility of inner classes

References
Available in the ITInc Library

Total Hours
Theoretical 36 hrs.
Practical 36 hrs.


Copyrights © 2003 Information Technology Incorporation. All rights reserved