O'Reilly logo

Professional C# 2008 by Karli Watson, Morgan Skinner, Jay Glynn, Bill Evjen, Christian Nagel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 3

Objects and Types

So far, you’ve been introduced to some of the building blocks of the C# language, including variables, data types, and program flow statements, and you have seen a few very short complete programs containing little more than the Main() method. What you haven’t really seen yet is how to put all of 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
  • Class members
  • Passing values by value and by reference
  • Method overloading
  • Constructors and static constructors
  • Read-only fields
  • Partial classes
  • Static classes
  • The Object class, from which all other types are derived

Note that we cover inheritance and features related to inheritance in Chapter 4, “Inheritance.”

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. This chapter is largely confined to applying those principles in C# code.

In this chapter, we introduce and explain 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.

Classes and Structs

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required