Team LiB
Previous Section Next Section

Beginning C# Objects—From Concepts to Code

Jacquie Barker
Grant Palmer


All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.



Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

Lead Editor: Dominic Shakeshaft
Technical Reviewer: James Huddleston
Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, John Franklin, Jason Gilmore, Chris Mills, Steve Rycroft, Dominic Shakeshaft, Jim Sumser, Karen Watterson, Gavin Wray, John Zukowski
Project Manager: Kylie Johnston
Copy Edit Manager: Nicole LeClerc
Copy Editor: Ami Knox
Production Manager: Kari Brooks
Production Editor: Laura Cheu
Compositor: Kinetic Publishing Services, LLC
Proofreader: Liz Welch
Indexer: Michael Brinkman
Artist: Kinetic Publishing Services, LLC
Cover Designer: Kurt Krames
Manufacturing Manager: Tom Debolski

Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 175 Fifth Avenue, New York, NY 10010 and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr. 17, 69112 Heidelberg, Germany.

In the United States: phone 1-800-SPRINGER, e-mail, or visit Outside the United States: fax +49 6221 345229, e-mail, or visit

For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail, or visit

The information in this book is distributed on an "as is" basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.

The source code for this book is available to readers at in the Downloads section.

In loving memory of my wonderful parents, Bill and Dorothy Jost.

—Jacquie Barker

I would like to dedicate this book to my dog Bailey, who is a good, old dog.

—Grant Palmer

About the Authors

Jacquie Barker is a professional software engineer, author, and adjunct faculty member at George Washington University in Washington, DC. With over 25 years of experience as a hands-on software developer and project manager, Jacquie has spent the past 12 years focusing on object technology, becoming proficient as an object modeler and Sun Microsystems–certified Java programmer. She is currently employed as a senior member of the technical staff at Technology Associates, Inc. in Herndon, Virginia, and is also the founder of ObjectStart LLC, an object technology mentorship and training firm.

Jacquie earned a bachelor of science degree in computer engineering with highest honors from Case Western Reserve University in Cleveland, Ohio. She later received a master of science degree in computer science, focusing on software systems engineering, from UCLA, and has subsequently pursued post-graduate studies in information technology at George Mason University in Fairfax, Virginia.

Beginning C# Objects was adapted from Jacquie's bestselling book, Beginning Java Objects: From Concepts to Code, published originally by the former Wrox Press, Ltd. and now by Apress. Jacquie's "winning formula" for teaching object fundamentals continues to receive praise from readers around the world, and Beginning Java Objects has been adopted by many universities as a key textbook in their core IT curricula.

Please visit her web site,, for more information on her various publications and service offerings.

On a personal note, Jacquie's passions include her husband, Steve; pet rats; chocolate; and programming in Java. When not engaged in computer-related pursuits, Jacquie and Steve enjoy motorcycle road trips through the Virginia countryside, tandem bicycling, vacations at the beach, and spending quality time with family and friends.

For the past 20 years, Grant Palmer has worked in the Space Technology Division at NASA Ames Research Center in Moffett Field, CA. Grant was a NASA engineer for 15 years and currently works as a scientific programmer with the ELORET Corporation, developing computer applications that help design the thermal protection systems of spacecraft reentering the Earth's atmosphere.

Grant earned a bachelor of science degree in mechanical engineering from the University of California, Berkeley. He later received a master of science degree in aerospace engineering from Stanford University. Grant is an expert in FORTRAN, C, C++, and Perl, but these days does most of his programming in the more modern languages of Java and C#. He has authored or coauthored seven books on computer programming, including C# Programmer's Reference.

Grant lives in Phoenix, Arizona, with his wife, Lisa; his two sons, Jackson and Zachary; and a good, old dog named Bailey.


I'd like to offer my sincere, heartfelt thanks to everyone who helped Grant and me to produce this book:

  • To James Huddleston, a true Renaissance man and reviewer extraordinaire for the tremendous job he did in assisting us with sorting out the "finer points" of C# as our primary technical reviewer.

  • To Dominic Shakeshaft, our editor, for his dedication to ensuring the clarity of our book's message.

  • To Gary Cornell, Apress publisher, for suggesting a Java-to-C# "port" of Beginning Java Objects.

  • To all the folks at Apress—especially Kylie Johnston, Ami Knox, Laura Cheu, and Glenn Munlawin—for their superb editorial/production/ marketing support.

  • To my coauthor, Grant Palmer, for keeping the best of humor throughout even the "darkest days"!

  • To my husband, Steve, for once again being patient as I became temporarily consumed with the "writing biz." I love you tons!!!

    —Jacquie Barker

To my coauthor, Jacquie Barker, for being fun to work with and for teaching me a lot about writing and object-oriented principles.

To the technical reviewers—Jim Huddleston and Dominic Shakeshaft—for the wonderful comments and insights they provided us on our book. Jim is a true computer guru who has probably forgotten more about programming than I will ever know.

To the editorial/production staff at Apress—Kylie Johnston, Ami Knox, Laura Cheu, and Glenn Munlawin—for their tireless efforts in keeping this project on time and on target.

Finally, to my beautiful wife, Lisa, and my wonderful boys, Jackson and Zachary, who make life worth living.

—Grant Palmer

Team LiB
Previous Section Next Section