What you'll learn?

·     Getting to know the comparison between object-oriented programming and procedural programming

·     Understanding the meaning of an object

·     Recognizing the concept of a class

·     Learning the object-oriented programming main principles: abstraction, encapsulation, inheritance and polymorphism

·     Mastering the implementation of OOP main principles

·     Exploring the relations between classes

Description

Object-oriented programming is one of the most important programming methodologies. Nowadays, it has become the essential programming paradigm. Almost all of the known and commonly used large-scale software have been built using object-oriented programming tools. Without using this methodology it would have been almost impossible to create such software programs.

Audience :

This course is essential for those interested to learn any of the object-oriented programming languages; such as Java, C++, C#, or Visual Basic .NET.

Topics :

Concepts of Object-Oriented Programming

o  Defining object-oriented programming

o  Pitfalls of traditional (procedural) programming

o  Major features of object-oriented programming

Principles of Object-Oriented Programming

o  Abstraction

o  Encapsulation

o  Inheritance

o  Polymorphism

Making the Paradigm Shift

o  Defining the object

o  Certain problems in action-oriented approach

o  Object-oriented thinking

What is Abstraction?

o  Defining abstraction

o  The importance of good abstraction

o  Implementing data abstraction

What is Encapsulation?

o  Defining encapsulation

o  The importance of encapsulation

o  Implementing encapsulation

Classes and Objects

o  Defining the class

o  Class vs. object

o  Building a class

Relations among Classes

o  The need for class relations

o  Finding class relations

o  Building class relations

What is Inheritance?

o  Defining inheritance

o  The importance of inheritance

o  Abstract class, concrete class, and interface

o  Method overloading

Applying Inheritance

o  Finding "is a" relationship

o  A review of abstraction

o  Building class hierarchy

What is Polymorphism?

o  Defining polymorphism

o  Method overriding

o  Abstract methods

Applying Polymorphism

o  Preliminary design, design & redesign

o  Go after polymorphism

o  Overloading vs. overriding

Aggregation

o  Big objects are composed of smaller objects

o  Making use of aggregation

Friend Classes

o  Defining "friendship"

o  Making use of the friendship

Nested Classes

o  Defining nested classes

o  Making use of nested classes

Some of the Most Famous OOP Languages

The Need for Software Engineering

o  Examples of software errors and failures

o  Economy

o  Maintenance

o  Clear Planning

Scope of Software Engineering

o  Relationship between software engineering and computer science

o  Team formation

o  Project planning

o  Development process

Software Creation Process

o  Requirements phase

o  Specification phase

o  Implementation phase

o  Maintenance phase

Software Life-Cycle Models

o  Waterfall model

o  Object-oriented models

Common Steps to Build an Object-Oriented Software System

o  Forming the work team

o  Selecting a methodology

o  Gathering requirements

o  Planning classes

o  Writing code

o  Documenting the project

o  Deployment

Object-Oriented Analysis and Design

o  Definition of analysis & design

o  The need for analysis & design

o  Object-oriented analysis & design techniques

Design Patterns

o  Definition of design patterns

o  A few examples of design patterns

Software Frameworks

o  Definition of software frameworks

o  The need for software frameworks

o  Examples of software frameworks

Component Programming

o  Definition of component programming

o  The need for component programming

Web Services

o  Definition of Web services

o  The need for Web services

Prerequisities :

Recommended Knowledge :

General knowledge of the fundamentals of programming

Category :

  • Programming

Training Materials :

YAT Official Courseware

Labs :

This course includes several labs to ensure you will gain the targeted skills and experience.

Related Courses