ebook img

Interactive C#. Fundamentals, Core Concepts and Patterns PDF

508 Pages·2018·12.676 MB·english
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Interactive C#. Fundamentals, Core Concepts and Patterns

Interactive C# Fundamentals, Core Concepts and Patterns Vaskaran Sarcar Interactive C# Vaskaran Sarcar 560066, Karnataka, India ISBN-13 (pbk): 978-1-4842-3338-2 ISBN-13 (electronic): 978-1-4842-3339-9 https://doi.org/10.1007/978-1-4842-3339-9 Library of Congress Control Number: 2017962428 Copyright © 2018 by Vaskaran Sarcar Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-3338-2. For more detailed information, please visit http://www.apress.com/source-code. Contents Preface ���������������������������������������������������������������������������������������������������������������xxxiii Guidelines for Using the Book ���������������������������������������������������������������������������xxxvii Part I: Enter into the World of OOP ��������������������������������������������������������1 Chapter 1: Object-Oriented Programming Concepts ������������������������������������������������3 Class and Objects �������������������������������������������������������������������������������������������������������������������������5 Encapsulation �������������������������������������������������������������������������������������������������������������������������������6 Abstraction ������������������������������������������������������������������������������������������������������������������������������������6 Inheritance ������������������������������������������������������������������������������������������������������������������������������������7 Polymorphism �������������������������������������������������������������������������������������������������������������������������������7 Summary���������������������������������������������������������������������������������������������������������������������������������������9 Chapter 2: The Building Blocks: Class and Objects ������������������������������������������������11 Class �������������������������������������������������������������������������������������������������������������������������������������������11 Object ������������������������������������������������������������������������������������������������������������������������������������������11 Class Demonstrations �����������������������������������������������������������������������������������������������������������������15 Demonstration 1��������������������������������������������������������������������������������������������������������������������������16 Output ������������������������������������������������������������������������������������������������������������������������������������17 Additional Comments ������������������������������������������������������������������������������������������������������������17 Demonstration 2��������������������������������������������������������������������������������������������������������������������������19 Output ������������������������������������������������������������������������������������������������������������������������������������20 Analysis ���������������������������������������������������������������������������������������������������������������������������������20 Additional Comments ������������������������������������������������������������������������������������������������������������21 Quiz����������������������������������������������������������������������������������������������������������������������������������������23 Output ������������������������������������������������������������������������������������������������������������������������������������23 Explanation ����������������������������������������������������������������������������������������������������������������������������24 Demonstration 3��������������������������������������������������������������������������������������������������������������������������27 Output ������������������������������������������������������������������������������������������������������������������������������������28 Explanation ����������������������������������������������������������������������������������������������������������������������������28 Demonstration 4��������������������������������������������������������������������������������������������������������������������������30 Output ������������������������������������������������������������������������������������������������������������������������������������31 Additional Comments ������������������������������������������������������������������������������������������������������������31 Demonstration 5��������������������������������������������������������������������������������������������������������������������������31 Output ������������������������������������������������������������������������������������������������������������������������������������32 Object Initializers ������������������������������������������������������������������������������������������������������������������������33 Demonstration 6��������������������������������������������������������������������������������������������������������������������������33 Output ������������������������������������������������������������������������������������������������������������������������������������34 Analysis ���������������������������������������������������������������������������������������������������������������������������������35 Optional Parameters �������������������������������������������������������������������������������������������������������������������35 Demonstration 7��������������������������������������������������������������������������������������������������������������������������36 Output ������������������������������������������������������������������������������������������������������������������������������������37 Analysis ���������������������������������������������������������������������������������������������������������������������������������37 Summary�������������������������������������������������������������������������������������������������������������������������������������39 Chapter 3: The Concept of Inheritance �������������������������������������������������������������������41 Types �������������������������������������������������������������������������������������������������������������������������������������������41 Demonstration 1��������������������������������������������������������������������������������������������������������������������������44 Output ������������������������������������������������������������������������������������������������������������������������������������44 Additional Comments ������������������������������������������������������������������������������������������������������������45 Demonstration 2��������������������������������������������������������������������������������������������������������������������������46 Output ������������������������������������������������������������������������������������������������������������������������������������46 Analysis ���������������������������������������������������������������������������������������������������������������������������������47 Demonstration 3��������������������������������������������������������������������������������������������������������������������������47 Demonstration 4��������������������������������������������������������������������������������������������������������������������������50 Output ������������������������������������������������������������������������������������������������������������������������������������51 Explanation ����������������������������������������������������������������������������������������������������������������������������51 A Special Keyword: base �������������������������������������������������������������������������������������������������������������52 Demonstration 5��������������������������������������������������������������������������������������������������������������������������52 Output ������������������������������������������������������������������������������������������������������������������������������������53 Analysis ���������������������������������������������������������������������������������������������������������������������������������54 Quiz����������������������������������������������������������������������������������������������������������������������������������������55 Output ������������������������������������������������������������������������������������������������������������������������������������55 Analysis ���������������������������������������������������������������������������������������������������������������������������������56 Demonstration 6��������������������������������������������������������������������������������������������������������������������������56 Output ������������������������������������������������������������������������������������������������������������������������������������57 Demonstration 7��������������������������������������������������������������������������������������������������������������������������58 Output ������������������������������������������������������������������������������������������������������������������������������������59 Analysis ���������������������������������������������������������������������������������������������������������������������������������59 Summary�������������������������������������������������������������������������������������������������������������������������������������62 Chapter 4: Get Familiar with Polymorphism �����������������������������������������������������������63 Method Overloading ��������������������������������������������������������������������������������������������������������������������63 Demonstration 1��������������������������������������������������������������������������������������������������������������������������64 Output ������������������������������������������������������������������������������������������������������������������������������������65 Analysis ���������������������������������������������������������������������������������������������������������������������������������65 Quiz����������������������������������������������������������������������������������������������������������������������������������������65 Answer ����������������������������������������������������������������������������������������������������������������������������������66 Quiz����������������������������������������������������������������������������������������������������������������������������������������66 Answer ����������������������������������������������������������������������������������������������������������������������������������66 Demonstration 2��������������������������������������������������������������������������������������������������������������������������67 Output ������������������������������������������������������������������������������������������������������������������������������������68 Analysis ���������������������������������������������������������������������������������������������������������������������������������68 Demonstration 3��������������������������������������������������������������������������������������������������������������������������68 Output ������������������������������������������������������������������������������������������������������������������������������������69 Demonstration 4��������������������������������������������������������������������������������������������������������������������������69 Output ������������������������������������������������������������������������������������������������������������������������������������70 Analysis ���������������������������������������������������������������������������������������������������������������������������������70 Quiz����������������������������������������������������������������������������������������������������������������������������������������72 Demonstration 5��������������������������������������������������������������������������������������������������������������������������72 A Suggestion/Good Programming Practice ���������������������������������������������������������������������������73 Operator Overloading ������������������������������������������������������������������������������������������������������������������74 Demonstration 6��������������������������������������������������������������������������������������������������������������������������75 Output ������������������������������������������������������������������������������������������������������������������������������������76 Demonstration 7��������������������������������������������������������������������������������������������������������������������������77 Output ������������������������������������������������������������������������������������������������������������������������������������78 Analysis ���������������������������������������������������������������������������������������������������������������������������������79 Method Overriding ����������������������������������������������������������������������������������������������������������������������80 Demonstration 8��������������������������������������������������������������������������������������������������������������������������80 Output ������������������������������������������������������������������������������������������������������������������������������������81 Analysis ���������������������������������������������������������������������������������������������������������������������������������81 Demonstration 9��������������������������������������������������������������������������������������������������������������������������83 Output ������������������������������������������������������������������������������������������������������������������������������������84 Demonstration 10������������������������������������������������������������������������������������������������������������������������85 Output ������������������������������������������������������������������������������������������������������������������������������������86 Experiment with Polymorphism ��������������������������������������������������������������������������������������������������86 Demonstration 11������������������������������������������������������������������������������������������������������������������������86 Output ������������������������������������������������������������������������������������������������������������������������������������88 Analysis ���������������������������������������������������������������������������������������������������������������������������������88 Demonstration 12������������������������������������������������������������������������������������������������������������������������89 Output ������������������������������������������������������������������������������������������������������������������������������������90 Analysis ���������������������������������������������������������������������������������������������������������������������������������90 Demonstration 13������������������������������������������������������������������������������������������������������������������������92 Output ������������������������������������������������������������������������������������������������������������������������������������94 Explanation ����������������������������������������������������������������������������������������������������������������������������94 Demonstration 14������������������������������������������������������������������������������������������������������������������������95 Output ������������������������������������������������������������������������������������������������������������������������������������95 Demonstration 15������������������������������������������������������������������������������������������������������������������������95 Output ������������������������������������������������������������������������������������������������������������������������������������96 Demonstration 16������������������������������������������������������������������������������������������������������������������������97 Output ������������������������������������������������������������������������������������������������������������������������������������97 Quiz����������������������������������������������������������������������������������������������������������������������������������������97 Demonstration 17������������������������������������������������������������������������������������������������������������������������98 Output ������������������������������������������������������������������������������������������������������������������������������������99 Explanation ����������������������������������������������������������������������������������������������������������������������������99 Quiz��������������������������������������������������������������������������������������������������������������������������������������100 Answer ��������������������������������������������������������������������������������������������������������������������������������100 Quiz��������������������������������������������������������������������������������������������������������������������������������������100 Answer ��������������������������������������������������������������������������������������������������������������������������������100 Demonstration 18����������������������������������������������������������������������������������������������������������������������101 Output ����������������������������������������������������������������������������������������������������������������������������������102 Analysis �������������������������������������������������������������������������������������������������������������������������������103 Demonstration 19����������������������������������������������������������������������������������������������������������������������103 Output ����������������������������������������������������������������������������������������������������������������������������������105 Demonstration 20����������������������������������������������������������������������������������������������������������������������106 Output ����������������������������������������������������������������������������������������������������������������������������������107 Analysis �������������������������������������������������������������������������������������������������������������������������������107 Demonstration 21����������������������������������������������������������������������������������������������������������������������108 Output ����������������������������������������������������������������������������������������������������������������������������������109 Analysis �������������������������������������������������������������������������������������������������������������������������������109 Abstract Class ���������������������������������������������������������������������������������������������������������������������������110 Demonstration 22����������������������������������������������������������������������������������������������������������������������110 Output ����������������������������������������������������������������������������������������������������������������������������������111 Demonstration 23����������������������������������������������������������������������������������������������������������������������112 Output ����������������������������������������������������������������������������������������������������������������������������������113 Explanation ��������������������������������������������������������������������������������������������������������������������������114 Quiz��������������������������������������������������������������������������������������������������������������������������������������115 Answer ��������������������������������������������������������������������������������������������������������������������������������115 Quiz��������������������������������������������������������������������������������������������������������������������������������������118 Output ����������������������������������������������������������������������������������������������������������������������������������119 Quiz��������������������������������������������������������������������������������������������������������������������������������������119 Output ����������������������������������������������������������������������������������������������������������������������������������120 Summary�����������������������������������������������������������������������������������������������������������������������������������122 Chapter 5: Interfaces: An Art in OOP ��������������������������������������������������������������������123 Introduction to Interfaces ����������������������������������������������������������������������������������������������������������123 Demonstration 1������������������������������������������������������������������������������������������������������������������������124 Output ����������������������������������������������������������������������������������������������������������������������������������125 Analysis �������������������������������������������������������������������������������������������������������������������������������126 Demonstration 2������������������������������������������������������������������������������������������������������������������������126 Output ����������������������������������������������������������������������������������������������������������������������������������128 Demonstration 3������������������������������������������������������������������������������������������������������������������������128 Output ����������������������������������������������������������������������������������������������������������������������������������129 Demonstration 4������������������������������������������������������������������������������������������������������������������������130 Output ����������������������������������������������������������������������������������������������������������������������������������131 Demonstration 5������������������������������������������������������������������������������������������������������������������������132 Output ����������������������������������������������������������������������������������������������������������������������������������134 Quiz��������������������������������������������������������������������������������������������������������������������������������������134 Output ����������������������������������������������������������������������������������������������������������������������������������135 Analysis �������������������������������������������������������������������������������������������������������������������������������135 Tag/Tagging/Marker Interface ���������������������������������������������������������������������������������������������������136 Demonstration 6������������������������������������������������������������������������������������������������������������������������140 Output ����������������������������������������������������������������������������������������������������������������������������������140 Demonstration 7������������������������������������������������������������������������������������������������������������������������141 Output ����������������������������������������������������������������������������������������������������������������������������������141 Summary�����������������������������������������������������������������������������������������������������������������������������������144 Chapter 6: Encapsulation with Properties and Indexers ��������������������������������������145 Overview of Properties ��������������������������������������������������������������������������������������������������������������145 Demonstration 1������������������������������������������������������������������������������������������������������������������������145 Output ����������������������������������������������������������������������������������������������������������������������������������147 Analysis �������������������������������������������������������������������������������������������������������������������������������147 Reduce the Code Size ����������������������������������������������������������������������������������������������������������150 Demonstration 2������������������������������������������������������������������������������������������������������������������������151 IL Code ���������������������������������������������������������������������������������������������������������������������������������152 Virtual Property �������������������������������������������������������������������������������������������������������������������������155 Demonstration 3������������������������������������������������������������������������������������������������������������������������155 Output ����������������������������������������������������������������������������������������������������������������������������������156 Abstract Property ����������������������������������������������������������������������������������������������������������������������157 Quiz��������������������������������������������������������������������������������������������������������������������������������������157 Output ����������������������������������������������������������������������������������������������������������������������������������158 Analysis �������������������������������������������������������������������������������������������������������������������������������158 Quiz��������������������������������������������������������������������������������������������������������������������������������������158 Output ����������������������������������������������������������������������������������������������������������������������������������159 Analysis �������������������������������������������������������������������������������������������������������������������������������159 Indexers ������������������������������������������������������������������������������������������������������������������������������������160 Demonstration 4������������������������������������������������������������������������������������������������������������������������160 Output ����������������������������������������������������������������������������������������������������������������������������������161 Analysis �������������������������������������������������������������������������������������������������������������������������������161 Demonstration 5������������������������������������������������������������������������������������������������������������������������163 Output ����������������������������������������������������������������������������������������������������������������������������������165 Analysis �������������������������������������������������������������������������������������������������������������������������������166 Interface Indexer �����������������������������������������������������������������������������������������������������������������������166 Demonstration 6������������������������������������������������������������������������������������������������������������������������167 Output ����������������������������������������������������������������������������������������������������������������������������������168 Quiz��������������������������������������������������������������������������������������������������������������������������������������168 Answer ��������������������������������������������������������������������������������������������������������������������������������170 Analysis �������������������������������������������������������������������������������������������������������������������������������170 Summary�����������������������������������������������������������������������������������������������������������������������������������172 Chapter 7: Understanding Class Variables �����������������������������������������������������������173 Class Variables ��������������������������������������������������������������������������������������������������������������������������173 Demonstration 1������������������������������������������������������������������������������������������������������������������������173 Output ����������������������������������������������������������������������������������������������������������������������������������174 Analysis �������������������������������������������������������������������������������������������������������������������������������174 Discussions on Static Methods �������������������������������������������������������������������������������������������������178 Demonstration 2������������������������������������������������������������������������������������������������������������������������178 Output ����������������������������������������������������������������������������������������������������������������������������������179 Demonstration 3������������������������������������������������������������������������������������������������������������������������180 Output ����������������������������������������������������������������������������������������������������������������������������������181 Analysis �������������������������������������������������������������������������������������������������������������������������������182 Discussions on Static Constructors ������������������������������������������������������������������������������������������182 Demonstration 4������������������������������������������������������������������������������������������������������������������������183 Output ����������������������������������������������������������������������������������������������������������������������������������184 Analysis �������������������������������������������������������������������������������������������������������������������������������184 Summary�����������������������������������������������������������������������������������������������������������������������������������186 Chapter 8: Analysis of Some Key Comparisons in C# �������������������������������������������187 Implicit Casting vs� Explicit Casting ������������������������������������������������������������������������������������������187 Boxing vs� UnBoxing �����������������������������������������������������������������������������������������������������������������188 Demonstration 1������������������������������������������������������������������������������������������������������������������������190 Output ����������������������������������������������������������������������������������������������������������������������������������191 Analysis �������������������������������������������������������������������������������������������������������������������������������191

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.