CS01 - C# OO Primer - 1 Day

Course Description

This course is designed to provide the developer with a broad overview of the C# object oriented approach. Developers will learn the key elements of object oriented applications including classes, interfaces, attributes, objects, access levels, inheritance and polymorphism.

Although this course does not instruct the developer on full detailed object oriented design techniques, on completion of this course, developers will be ready to move on to more detailed C# training courses in a 'non-design' capacity.


Pre-requisites

None.


Objectives

Whilst covering the basics of C# object oriented programming concepts, this course also aims to give an insight into objects, classes and messaging.

Issues such as encapsulation, inheritance, polymorphism, object modelling and the Unified Modelling Language are discussed.

On completion of this course the student will be able to:

  • Understand the concepts of object oriented programming
  • Understand and differentiate between objects and classes
  • Understand object instantiation
  • Understand and differentiate between instance methods and variables and class methods and variables
  • Understand the concept and benefits of messaging
  • Understand the concept and benefits of encapsulation
  • Understand the concept and benefits of inheritance
  • Understand the concept and benefits of interfaces
  • Understand the concept and benefits of polymorphism
  • Understand the concept of object modelling and the Unified Modelling Language


Environment

Lecture based.


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

INTRODUCTION TO OBJECT ORIENTED CONCEPTS
History of OO Languages
What is Object Orientation ?
Messaging
Abstraction
Solution Space and Problem Space
Object Oriented Concepts
Summary Object Oriented Terms

OBJECTS
Introduction to Objects
Object Definition

CLASSES
Introduction to Classes
Class Definition
Objects and Classes
Delegation
The Benefits of Classes
C# Class Definition

OBJECT INSTANTIATION
Instantiation and Types / Classes
Object Instantiation
Instance variables
Instance Methods
Class Variables
Class Methods

MESSAGES
Sending Messages to an Object - Methods
The Benefits of Messages
Methods and Method Signature

ENCAPSULATION
Encapsulation and Data Hiding
Variable and Method Definition
The Benefits of Encapsulation

INHERITANCE
Generalisation and Specialisation
Inheritance and Implementation Inheritance
Single Inheritance
Inheritance Definition
The Benefits of Inheritance

INTERFACES
Multiple Implementations of Single Inheritance
Single Implementations Supporting Multiple Interfaces

POLYMORPHISM
Introduction to Polymorphism
Polymorphism Definition
Overriding
Overloading

OBJECT LIFETIME
Object Lifetime
Constructors
Destructors - Garbage Collection

OBJECT MODELLING
Introduction to Object Modelling
Unified Modelling Language
Rational Unified Process
Inception
Elaboration
Construction
Transition
Analysis

UNIFIED MODELLING LANGUAGE - UML
The Unified Modelling Language
Actors
Use Case
Defining Use Cases
Use Case Diagrams
Class Diagrams
Packages and Object Diagrams
Sequence Diagrams
Collaboration Diagrams
State or Statechart Diagrams
Activity Diagrams
Component and Deployment Diagrams


Course Enquiry