Object Oriented Programming using C# by Simon Kendal

object-oriented-cThe author of this book wrote that this book aims to instill the reader with an understanding of the Object Oriented approach to programming and aims to develop some practical skills along the way. These practical skills will be developed by small exercises that the reader will be invited to undertake and the feedback that will be provided. The concepts that will be explained and skills developed are in common use among programmers using many modern object oriented languages and are thus transferrable from one language to another. However for practical purposes these concepts are explored and demonstrated using the C# (pronounced C sharp) programming language. While the C# programming language is used to highlight and demonstrate the application of fundamental object oriented principles and modeling techniques this book is not an introduction to C# programming. The reader will be expected to have an understanding of basic programming concepts and their implementation in C# (inc. the use of loops, selection statements, performing calculations, arrays, data types and a basic understanding of file handling). This text is designed not as a theoretical textbook but as a learning tool to aid in understanding theoretical concepts and learning the practical skills required to implement these. To this end each chapter will incorporate small exercises with solutions and feedback provided. At the end of the book one larger case study will be described – this will be used to illustrate the application of the techniques explored in the earlier chapters. This case study will culminate in the development of a complete C# program that can be downloaded with this book. In this book the reader An introduction to object oriented programming, A brief history of computing, Different programming paradigms, Why use the object orientation paradigm? Object oriented principles, What exactly is object oriented programming? The benefits of the object oriented programming approach, Software implementation, An introduction to the .NET Framework, The unified modeling language (UML), An introduction to UML, UML class diagrams, UML syntax, UML package diagrams, UML object diagrams, UML Sequence diagrams, Inheritance and method overriding, Object families,


Generalization and specialization Implementing Inheritance in C#, Constructors, Constructor Rules, Access control, Abstract classes, Overriding methods, The Object class, Overriding ToString () defined in object, Object roles and the importance of polymorphism, Class types, Substitutability, Polymorphism, Extensibility, Interfaces, Distinguishing subclasses, Overloading, Overloading to aid flexibility, Object oriented software analysis and design, Requirements analysis, The problem, Listing nouns and verbs, Identifying things outside the scope of the system, Identifying synonyms, Identifying potential classes, Identifying potential attributes, Identifying potential methods, Identifying common characteristics, Refining our design using CRC Cards, Elaborating classes, Generic collections and how to serialize them, An introduction to generic methods, An introduction to collections, Different types of collections, Lists, HashSets, Dictionaries, A simple list example, A more realistic example using lists, An example using sets, An example using dictionaries, Serializing and de-serializing collections, C# development tools, Tools for writing C# programs, Microsoft visual studio, Sharp develop, Automatic documentation, Sandcastle help file builder, Ghost Doc, Adding namespace comments, Creating and using exceptions, Understanding the importance of exceptions, Kinds of exception, Extending the application exception class, Throwing exceptions, Catching exceptions, Agile programming, Agile approaches, Refactoring, Support for refactoring, Unit testing, Automated unit testing, Regression testing, Unit testing in visual studio, Examples of assertions, Several test examples, Running tests, Test driven development (TDD), TDD cycles, Claims for TDD, Case study, Preliminary analysis, Further analysis, Documenting the design using UML, Prototyping the interface, Revising the design to accommodate changing requirements, Packaging the classes, Programming the message classes, Programming the client classes, Creating and handling unknown client exception, Programming the interface, Using test driven development and extending the system, Generating the documentation, The finished system, Running the system and much more.

To download this book, please click the link below:
Click here to download Object Oriented Programming using C#

Leave A Reply

Your email address will not be published.