Book description
Enhance your programming skills by learning the intricacies of object oriented programming in C# 8
Key Features
- Understand the four pillars of OOP; encapsulation, inheritance, abstraction and polymorphism
- Leverage the latest features of C# 8 including nullable reference types and Async Streams
- Explore various design patterns, principles, and best practices in OOP
Book Description
Object-oriented programming (OOP) is a programming paradigm organized around objects rather than actions, and data rather than logic. With the latest release of C#, you can look forward to new additions that improve object-oriented programming.
This book will get you up to speed with OOP in C# in an engaging and interactive way. The book starts off by introducing you to C# language essentials and explaining OOP concepts through simple programs. You will then go on to learn how to use classes, interfacesm and properties to write pure OOP code in your applications. You will broaden your understanding of OOP further as you delve into some of the advanced features of the language, such as using events, delegates, and generics. Next, you will learn the secrets of writing good code by following design patterns and design principles. You'll also understand problem statements with their solutions and learn how to work with databases with the help of ADO.NET. Further on, you'll discover a chapter dedicated to the Git version control system. As you approach the conclusion, you'll be able to work through OOP-specific interview questions and understand how to tackle them.
By the end of this book, you will have a good understanding of OOP with C# and be able to take your skills to the next level.
What you will learn
- Master OOP paradigm fundamentals
- Explore various types of exceptions
- Utilize C# language constructs efficiently
- Solve complex design problems by understanding OOP
- Understand how to work with databases using ADO.NET
- Understand the power of generics in C#
- Get insights into the popular version control system, Git
- Learn how to model and design your software
Who this book is for
This book is designed for people who are new to object-oriented programming. Basic C# skills are assumed, however, prior knowledge of OOP in any other language is not required.
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
-
Overview of C# as a Language
- Evolution of C#
- Architecture of .NET
- Fundamentals and syntax of C# language
- Writing your first C# program in a console application
- Visual Studio as an editor
- Writing your first program in Visual Studio
- Summary
- Hello OOP - Classes and Objects
- Implementation of OOP in C#
- Object Collaboration
-
Exception Handling
- Why we need exception handling in programming
- Basics of exception handling
- Try and catch
- What happens if you don't handle exceptions?
- Multiple catch blocks
- Using the throw keyword
- What does the finally block do?
- Exception class
- User-defined exceptions
- The exception filter
- Exception handling best practices
- Summary
- Events and Delegates
- Generics in C#
- Modeling and Designing Software
- Visual Studio and Associated Tools
- Exploring ADO.NET with Examples
- New Features in C# 8
- Understanding Design Patterns and Principles
- Git - The Version Control System
-
Prepare Yourself - Interviews and the Future
-
Interview questions
- What are the fundamental principles of object-oriented programming?
- What is inheritance?
- What is encapsulation?
- What is abstraction?
- What is polymorphism?
- What is an interface?
- What is an abstract class?
- What is a sealed class?
- What is a partial class?
- What are the differences between interfaces and abstract classes?
- What is the difference between method-overloading and method-overriding?
- What are access modifiers?
- What is boxing and unboxing?
- What are the differences between a struct and a class?
- What is an extension method in C# and how do we use it?
- What is managed and unmanaged code?
- What is a virtual method in C#?
- What do you understand by value types and reference types in C#.NET?
- What are design principles?
- What is the single responsibility principle?
- What is the Open/Closed principle?
- What is the Liskov substitution principle?
- What is the interface segregation principle?
- What is the dependency inversion principle?
- Interview and career tips
- Things to learn next
- Building the habit of reading
- Summary
-
Interview questions
- Other Books You May Enjoy
Product information
- Title: Hands-On Object-Oriented Programming with C#
- Author(s):
- Release date: February 2019
- Publisher(s): Packt Publishing
- ISBN: 9781788296229
You might also like
book
Beginning Object-Oriented Programming with C#
The ideal beginner's guide to C# and object-oriented programming Wrox beginners' guides have the perfect formula …
video
C# Object-Oriented Programming for Beginners in C# and .NET
Object-Oriented Programming is easy to start and is fundamental in any programming language, including C# and …
video
Beginner Object-Oriented Programming in C# and .NET Core
Object-Oriented Programming (OOP) gives the power to developers to make their code scalable, readable, and maintainable. …
book
High-Performance Programming in C# and .NET
Enhance your applications' performance using best practices for benchmarking, application profiling, asynchronous programming, designing responsive UIs, …