So far, you've been introduced to some of the main building blocks that make up the C# language, including declaring variables, data types, and program flow statements, and you have seen a couple of very short complete programs containing little more than the Main() method. What you haven't really seen is how you can put all these together to form a longer, complete program. The key to this lies in working with classes — the subject of this chapter. In particular, this chapter covers:
The differences between classes and structs
Fields, properties, and methods
Passing values by value and reference
Method overloading
Constructors and static constructors
Read-only fields
The Object class, from which all other types are derived
Inheritance and features related to inheritance are discussed in Chapter 4, "Inheritance."
Important | This chapter introduces the basic syntax associated with classes. However, we assume that you are already familiar with the underlying principles of using classes — for example, that you know what a constructor or a property is, and this chapter is largely confined to applying those principles in C# code. If you are not familiar with the concept of the class, you might want to take a look at Appendix A, which is available with the code downloads for the book on the Web at www.wrox.com. |
This chapter introduces and explains those concepts that are not necessarily supported by most object- oriented languages. For example, although object constructors are a widely used concept that you should be familiar with, static constructors are something new to C#, so this chapter explains how static constructors work.