In this hands-on instructor-led C# OOP course, developers learn the fundamental skills that are required to design and develop object-oriented applications (OOP) for the Web and Microsoft Windows using Microsoft Visual C# .NET and the Microsoft Visual Studio .NET development environment. Fully covers the enhancements made in C# 3.0 and C# 4.0.
This object oriented C# training course is offered in two flavors – a 3 day version for programmers experienced in another object oriented language such as C++, Java, or Delphi, and a 5 day version for less experienced programmers who are not familiar with object-oriented design and programming, and for Developers moving to C# as their first fully object-oriented language. Programmers with a background in Visual Basic and COBOL, for example, will want to take the slower paced more introductory 5 day course where the fundamental topics of classes, objects, and inheritance are covered in detail. The 5 day version is intended to be fully accessible to programmers who do not already have a strong background in object-oriented programming. The 3 day version covers the same topics but at a much faster pace where the more introductory topics are just reviewed and the syntax covered, and differences between C# and other OOP languages are discussed.
This is a fully hands-on C# training course. After each major topic is introduced students undertake short exercises to ensure they understand the important principles. This C# training course cover all the object oriented topics you need to understand to develop using C# with the .NET framework – using existing classes, writing your own classes, using inheritance, utilizing and implementing interfaces, polymorphism, the standard .NET interfaces, how to work with generics, and an introduction to design patterns.
C# as a language is elegant and powerful. But to utilize its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. The course explores several important interactions between C# and the .NET Framework; how to implement standard interfaces, how to use the built-in classes for collections, and delegates and events. It includes a succinct introduction to creating GUI programs using Windows Forms. It discusses memory management and the garbage collector, the consequences on destructors, and how to work with iDisposable.
An overview of Object Oriented programming
Terminology, the OOP approach, data abstraction, classes, objects, methods, Inheritance, Components, Interfaces, polymorphism
OOP in .NET
Grouping of classes using Namespaces, Assemblies, getting help on classes, everything is a class, system.object, value versus reference types, boxing, standard interfaces, memory management and garbage collection, static and instance classes
Using Existing Classes
XML classes, File I/O, file management, static classes, static versus instance classes, constructors, properties, events, GUI forms as classes, ASP Forms as classes, working with static and instance classes, using static classes to group related methods
Working with Collections
Lists, dictionaries, stacks, queues
Working with generics
Syntax, Generic lists, generic dictionaries, generic interfaces, arrays and generics
Writing Simple Classes
Instance variables, properties, methods, this, scope
Constructors / Destructors
Finalization, consequences of garbage collection, constructors and composite classes, constructors versus static methods returning instances of classes
Understanding the need for inheritance, base classes, inherited constructors, inheritance and destructors, abstract methods, inheritance versus composition, drawing inheritance structures, form inheritance, inheritance versus composition, typecasting
What are interfaces, using interfaces to implement polymorphism, standard .NET interfaces, using clause, foreach clause, implementing interfaces, name resolution with multiple interfaces, implementing iCloneable, iSearchable, iDisposable
With Inheritance, abstract methods, virtual methods, with Interfaces
Events and Delegates
Syntax, Delegates as function pointers, examples from GUI components, multi Cast delegates, anonymous methods
C# Within the .NET Framework
Windows Forms as Classes, event handlers as delegates, ASP Forms, Exception Handling, user defined Exceptions
Introduction to Design Patterns
Definition of design patterns, the need for design patterns, sample design patterns within .Net, example of design patterns, implementing design patterns, Singleton, Observer, Adapter, Flyweight, State, and Factory patterns