4 Beginning C# Objects - From Concepts to Code @Team LiB Table of Contents Foreword 10 Part I Table of Contents 12 Part II BackCover 16 Part III Beginning C# Objects - From Concepts to Code 18 Part IV Preface 22 Part V Introduction 24 1 Why Is Understanding Objects So Critical to Being a Successful OO P.r.o...g..r.a..m...m....e..r.?............................................................................................................... 25 2 Who I.s.. .T..h...i.s.. .B..o..o...k.. .W...r..i.t.t.e..n.. .F..o...r.?......................................................................................... 26 3 What If You're Interested in Object Modeling, but Not Necessarily in C# ..P..r..o..g..r.a..m....m...i.n..g..?.......................................................................................................... 27 4 How T..h..i.s.. .B...o..o..k.. .I.s.. ..O..r..g..a..n..i.z..e..d............................................................................................. 28 5 Which.. .V..e..r..s..i.o..n.. .o..f.. .C..#.. .I.s.. .T..h...i.s.. .B..o..o...k.. .B..a..s..e..d.. ..O..n...?................................................................ 29 6 A Fina..l. .T...h..o..u..g..h...t. .B...e..f.o..r..e.. .W...e.. ..G...e..t. .S...t.a..r.t.e..d.......................................................................... 30 7 Tell U.s.. .W....h..a..t. .Y...o..u.. .T...h..i.n..k..................................................................................................... 30 Part VI Part One: The ABCs of Objects 33 1 Chapt.e..r.. .1..:. .A... .L..i.t.t.l.e.. .T...a..s..t.e.. .o..f. .C...#.......................................................................................... 33 Getting " Han.d..s.. .O...n.. .".. . .w...i.t.h... .C..#... ............................................................................................................................ 34 Why C#? .......................................................................................................................................................... 35 C# Language .B..a..s..i.c..s.. .............................................................................................................................................. 36 Anatomy of a .S...i.m...p..l.e.. ..C...#.. .P...r.o..g..r..a..m... ...................................................................................................................... 37 Predefined Ty..p..e..s.. .................................................................................................................................................. 40 Variables .......................................................................................................................................................... 41 Strings .......................................................................................................................................................... 43 Case Sensitiv.i.t.y.. ..................................................................................................................................................... 45 C# Expression..s.. ...................................................................................................................................................... 45 Implicit Type C...o..n..v..e...r.s..i.o..n..s.. ..a..n..d... .E..x...p..l.i.c..i.t. ..C..a..s..t..i.n..g.. .............................................................................................. 49 Loops and Ot.h..e..r. ..F..l.o..w... ..o..f. ..C...o..n..t.r..o..l. ..S..t.r..u..c..t.u..r..e..s.. .................................................................................................. 51 Jump Statem.e..n..t.s.. .................................................................................................................................................. 60 Code Blocks a..n..d... .V...a..r.i.a..b..l.e.. ..S..c..o...p..e.. ....................................................................................................................... 62 Printing to the.. ..S..c..r..e..e..n.. .......................................................................................................................................... 63 Elements of C.#.. ..S..t.y..l.e.. ............................................................................................................................................. 66 Summary .......................................................................................................................................................... 72 Exercises .......................................................................................................................................................... 73 2 Chapt.e..r.. .2..:. .A...b..s..t.r..a..c..t.i.o..n.. .a..n...d.. .M...o..d..e..l.i.n...g.............................................................................. 74 Simplification ..T..h...r.o..u..g...h.. ..A...b..s..t.r..a..c..t.i.o..n.. ................................................................................................................... 74 Generalization. ..T...h..r.o...u..g..h.. ...A..b..s...t.r.a..c..t.i.o...n.. ................................................................................................................. 75 Contents 5 Reuse of Abs.t.r..a..c..t.i.o..n...s.. ......................................................................................................................................... 80 Inherent Cha.l.l.e..n..g..e..s.. ............................................................................................................................................. 81 Summary .......................................................................................................................................................... 83 Exercises .......................................................................................................................................................... 84 3 Chapt.e..r.. .3..:. .O...b..j.e..c..t.s.. .a..n..d.. .C...l.a..s..s..e..s........................................................................................ 85 What Is an Ob.j.e..c..t.?.. ................................................................................................................................................. 86 State/Attribute..s../.D...a..t.a.. ............................................................................................................................................. 87 Behavior/Ope.r.a...t.i.o..n...s../.M...e..t.h...o..d..s... ........................................................................................................................... 89 Classes .......................................................................................................................................................... 90 User-Defined .T..y..p..e..s.. ..a..n...d.. ..R...e..f.e..r.e..n...c..e.. ..V..a..r..i.a..b..l.e..s.. ................................................................................................ 94 Instantiating O..b..j.e..c..t..s..:. ..A.. ..C...l.o..s..e..r. ..L..o..o...k.. ................................................................................................................ 95 Objects As A.t.t.r..i.b..u..t..e..s.. .......................................................................................................................................... 99 Composition.. ........................................................................................................................................................ 101 Three Disting..u..i.s..h...i.n..g.. ..F..e..a..t..u..r.e..s.. ..o...f. ..a..n.. ..O...b..j.e..c..t.-..O..r..i.e..n..t.e..d... ..P..r.o...g..r.a..m....m...i.n..g.. ..L...a..n..g..u..a..g...e.. ................................... 104 Summary .......................................................................................................................................................... 104 Exercises .......................................................................................................................................................... 105 4 Chap..t.e..r.. .4..:. .O...b..j.e..c..t. ..I.n..t.e..r.a..c..t..i.o..n..s........................................................................................ 105 Events Drive ..O...b..j.e..c..t. ..C..o...l.l.a..b..o..r..a..t.i.o..n.. .................................................................................................................... 106 Declaring Me..t..h..o..d..s.. .............................................................................................................................................. 108 Method Invoc..a..t.i.o..n... .a..n..d.. ..D..o...t. .N...o..t.a..t.i..o..n.. ................................................................................................................ 114 Information .H...i.d..i.n..g../.A...c..c..e..s..s..i.b..i.l.i.t..y.. ...................................................................................................................... 126 The Power o.f. ..E..n...c..a..p..s..u..l.a..t.i.o...n.. ............................................................................................................................. 144 Instance Co.n..s..t.r..u..c..t.o...r.s.. ....................................................................................................................................... 151 Summary .......................................................................................................................................................... 155 Exercises .......................................................................................................................................................... 155 5 Chap..t.e..r.. .5..:. .R...e..l.a..t.i.o..n..s..h...i.p..s.. .B...e..t.w...e..e..n.. .O...b..j.e..c..t.s................................................................... 157 Associations. ..a..n..d.. ..L..i.n...k..s.. ..................................................................................................................................... 157 Inheritance .......................................................................................................................................................... 164 Three Disting..u..i.s..h...i.n..g.. ..F..e..a..t..u..r.e..s.. ..o..f.. ..a..n.. ..O...b..j.e..c..t.-.O...r..i.e..n..t.e..d.. ..P...r.o..g...r.a..m...m....i.n..g.. ..L..a..n...g..u..a..g..e..,. ..R...e..v..i.s..i.t.e..d... ................ 186 Summary .......................................................................................................................................................... 186 Exercises .......................................................................................................................................................... 187 6 Chap..t.e..r.. .6..:. .C...o..l.l.e..c..t.i.o..n..s.. .o...f. .O...b..j.e..c..t.s................................................................................... 189 What Are Co.l..l.e..c..t.i.o..n..s..?... ....................................................................................................................................... 190 Arrays As Si.m....p..l.e.. ..C..o...l.l.e..c..t.i.o..n...s.. .......................................................................................................................... 194 More Sophis.t.i.c..a..t.e..d... ..C..o..l..l.e..c..t.i.o..n.. ..T...y..p..e..s.. ............................................................................................................. 201 Referencing .t.h..e.. ..S...a..m...e.. ..O...b..j.e..c..t. ..S...i.m...u..l.t.a..n...e..o..u..s..l.y.. ..f.r..o..m... ..M...u..l.t.i.p...l.e.. ..C..o...l.l.e..c..t.i.o..n..s.. ............................................... 206 Inventing Ou.r. ..O...w...n.. ..C..o..l.l..e..c..t.i.o..n.. ..T..y..p..e..s... .............................................................................................................. 207 Collections A..s.. ..M...e..t.h..o...d.. ..R..e..t..u..r.n... .T...y..p..e..s.. ............................................................................................................. 211 Collections o..f. ..S...u..p..e..r..t.y..p..e..s.. ................................................................................................................................. 212 Composite C..l.a..s..s..e..s..,. ...R..e..v..i.s..i.t..e..d.. ......................................................................................................................... 213 Summary .......................................................................................................................................................... 217 Exercises .......................................................................................................................................................... 218 7 Chap..t.e..r.. .7..:. .S...o..m...e.. .F...i.n..a..l. .O...b..j.e..c..t. ..C..o..n...c..e..p..t.s....................................................................... 219 What Is Poly..m...o..r..p..h..i.s..m...?... .................................................................................................................................... 220 Three Disting..u..i.s..h...i.n..g.. ..F..e..a..t..u..r.e..s.. ..o...f. ..a..n.. ..O...b..j.e..c..t.-..O..r..i.e..n..t.e..d... ..P..r.o...g..r.a..m....m...i.n..g.. ..L...a..n..g..u..a..g...e.. ................................... 227 Abstract Cla.s..s..e...s.. ................................................................................................................................................ 229 Interfaces .......................................................................................................................................................... 235 Static Featur.e..s.. ..................................................................................................................................................... 246 Utility Classe..s.. ...................................................................................................................................................... 255 Summary .......................................................................................................................................................... 259 Exercises .......................................................................................................................................................... 260 5 6 Beginning C# Objects - From Concepts to Code @Team LiB Part VII Part Two: Object Modeling 101 265 1 Chap..t.e..r.. .8..:. .T..h...e.. .O...b..j.e..c..t. .M...o..d...e..l.i.n..g.. .P...r.o..c..e..s..s.. .i.n... .a.. .N...u..t.s..h..e..l.l.............................................. 265 The " Big Pic..t.u...r.e.. .".. . .G...o..a...l. .o..f. .O...b..j.e..c...t. .M...o..d..e..l.i.n...g.. ................................................................................................. 266 Our Object M..o..d..e..l.i.n...g.. .P...r.o..c..e..s..s..,. ..i.n.. ..a.. .N...u..t.s..h..e..l.l. ................................................................................................... 270 Summary .......................................................................................................................................................... 273 Exercises .......................................................................................................................................................... 274 2 Chap..t.e..r.. .9..:. .F..o...r.m...a..l.i.z..i.n..g.. ..R..e..q..u...i.r.e..m...e..n..t..s.. .T..h..r..o..u..g..h.. ..U..s..e.. ..C..a..s..e..s........................................ 274 What Are Us.e.. .C...a..s..e..s..?.. ......................................................................................................................................... 275 Actors .......................................................................................................................................................... 277 Specifying U.s..e.. ..C..a..s..e...s.. ........................................................................................................................................ 281 Matching Up ..U...s..e.. .C...a..s..e..s.. .w...i.t..h.. .A...c..t.o..r..s.. ............................................................................................................... 282 To Diagram o..r. .N...o..t.. .t.o.. ..D..i.a..g...r.a..m...?.. ......................................................................................................................... 283 Summary .......................................................................................................................................................... 285 Exercises .......................................................................................................................................................... 285 3 Chap..t.e..r.. .1..0..:. .M...o..d...e..l.i.n..g.. .t.h...e.. .S..t.a..t.i.c../.D...a..t.a.. .A...s..p..e..c..t.s.. ..o..f. .t.h...e.. .S..y..s..t.e..m...................................... 286 Identifying A..p..p..r.o...p..r.i.a..t..e.. ..C...l.a..s..s..e..s.. ...................................................................................................................... 287 Producing a D...a..t.a.. .D...i.c..t.i.o..n...a..r.y.. ............................................................................................................................... 299 Determining ..A..s..s..o...c..i.a..t.i.o..n...s.. ..B...e..t.w...e..e..n.. ...C..l.a..s..s..e..s... ............................................................................................... 300 UML Notation..:. ..M...o..d..e..l.i.n...g.. .t..h..e.. .S...t.a..t.i.c.. ..A..s..p...e..c..t.s.. .o...f. .a..n... .A...b..s..t.r..a..c..t.i.o..n.. ................................................................... 304 Object Diagr.a..m...s.. .................................................................................................................................................. 320 Information .". ..F..l.o..w...s.. .".. . ..A..l.o...n..g.. .t..h..e.. .A...s..s..o..c..i.a..t.i.o...n.. . ..". ..P..i.p..e..l.i.n...e.. .".. ........................................................................ 323 " Mixing and .M...a..t..c..h..i.n..g.. ..". .. .R...e..l.a..t.i.o..n...s..h..i.p.. .N...o..t..a..t.i.o..n..s.. ........................................................................................... 328 Association ..C..l.a..s..s..e..s.. ........................................................................................................................................... 330 Our " Comp.l.e..t.e..d.. ..".. . ..S..t.u...d..e..n..t. ..R..e..g...i.s..t.r.a..t..i.o..n.. ..S..y..s..t.e..m.... .C...l.a..s..s.. .D...i.a..g..r..a..m... ............................................................ 333 Metadata .......................................................................................................................................................... 338 Summary .......................................................................................................................................................... 340 Exercises .......................................................................................................................................................... 341 4 Chapter 11: Modeling the Dynamic/Behavioral Aspects of the Syst.e..m................................................................................................................................ 341 How Behavio.r.. .A...f.f.e...c..t.s.. .S...t.a..t.e.. ............................................................................................................................... 342 Scenarios .......................................................................................................................................................... 347 Sequence Di..a..g..r.a..m...s... ........................................................................................................................................... 351 Using Seque.n..c..e.. ..D...i.a..g..r..a..m...s.. ..t.o.. ..D...e..t.e..r..m...i.n..e.. ..M...e..t.h...o..d..s.. ...................................................................................... 357 Collaboration. ...D..i.a..g...r.a..m...s.. ...................................................................................................................................... 360 Revised SRS. .C...l.a..s..s.. .D...i.a..g..r..a..m... .............................................................................................................................. 361 Summary .......................................................................................................................................................... 362 Exercises .......................................................................................................................................................... 363 5 Chap..t.e..r.. .1..2..:. .W...r..a..p..p..i.n..g... .U..p... .O...u..r. .M...o..d...e..l.i.n..g.. .E...f.f.o..r..t.s........................................................... 364 Testing Your. ..M...o...d..e..l. ............................................................................................................................................ 365 Revisiting R.e..q...u..i.r.e..m....e..n..t.s.. ................................................................................................................................... 366 Reusing Mod.e..l.s..:.. .A... .W....o..r..d.. .A...b..o..u...t. ..D..e..s..i.g..n... .P...a..t.t.e..r..n..s.. ......................................................................................... 368 Summary .......................................................................................................................................................... 371 Exercises .......................................................................................................................................................... 371 Part VIII Part Three: Translating a UML " Blueprint " into C# Code 373 1 Chap..t.e..r.. .1..3..:. .A... .D...e..e..p..e..r. .L...o..o..k.. .a..t. ..C..#................................................................................... 373 Sorting Out .T..e..r.m....i.n..o..l.o..g...y.. ................................................................................................................................... 375 Setting Up a ..C..#... .P..r..o..g..r..a..m...m...i.n...g.. .E...n..v..i.r.o...n..m...e..n..t.. .................................................................................................. 377 Compiling an..d.. .R...u..n..n...i.n..g.. ..C..#.. ..P..r..o..g..r..a..m...s.. ............................................................................................................. 378 Contents 7 Namespaces.. ........................................................................................................................................................ 388 Strings As O..b..j.e..c..t.s.. .............................................................................................................................................. 393 C# Exception. .H...a..n..d..l.i.n..g... ........................................................................................................................................ 399 The Object C..l.a..s..s.. ................................................................................................................................................. 409 C#'s Collecti.o..n.. ..C...l.a..s..s..e..s.. ..................................................................................................................................... 416 Initialization .o..f. ..V..a...r.i.a..b..l.e..s..,. ..R...e..v..i.s..i.t.e..d.. ................................................................................................................. 434 More About .t.h..e.. ..M...a..i.n.. ..M...e..t.h...o..d.. ........................................................................................................................... 435 Developing C..o..m...m....a..n..d.. ..L..i.n..e.. ..-. ..D..r..i.v..e..n.. ..A..p...p..l.i.c..a..t.i.o..n...s.. ........................................................................................ 437 Object Self-R.e..f..e..r.e..n..c..i.n...g.. .w...i.t.h... . .".. ..t.h..i.s.. ..". .............................................................................................................. 442 Constructors.,. ...R...e..v..i.s..i.t.e..d.. ..................................................................................................................................... 443 More About I.n...h..e..r.i.t..a..n..c..e.. .a...n..d.. ..C..#.. ........................................................................................................................ 448 More on Me.t.h..o..d..s.. ................................................................................................................................................ 457 Object Identi.t..i.e..s.. .................................................................................................................................................. 461 Object Deleti.o..n.. ..a..n..d.. ..G...a..r.b..a..g...e.. .C...o..l.l.e..c..t.i.o...n.. ......................................................................................................... 466 The " Other .".. . .K...i.n..d.. ..o..f. .A...t.t.r..i.b..u..t.e... ....................................................................................................................... 467 Summary .......................................................................................................................................................... 468 Exercises .......................................................................................................................................................... 469 2 Chap..t.e..r.. .1..4..:. .T..r..a..n..s..f.o..r..m...i.n..g.. ..O..u...r. .U...M...L.. .M...o..d..e..l. ..i.n..t.o.. .C...#.. .C...o..d..e............................................ 471 Suggestions ..f.o..r. ..G...e..t.t.i.n...g.. ..t.h..e.. ..M...a..x..i.m...u..m.... .V...a..l.u..e.. ..o..u..t.. .o..f.. .T...h..i.s.. ..a..n..d.. ..S..u..b...s..e..q..u..e..n...t. .C...h..a..p...t.e..r.s.. .......................... 472 The SRS Clas..s.. ..D..i.a..g...r.a..m...,. ..R..e..v..i.s..i.t..e..d.. ................................................................................................................... 472 Debugging T.i.p.. ...................................................................................................................................................... 516 Summary .......................................................................................................................................................... 518 Exercises .......................................................................................................................................................... 519 3 Chapter 15: Rounding Out Our Application, Part 1 - Adding File Pers.i.s..t.e..n..c..e........................................................................................................................ 520 What Is Pers..i.s..t.e..n..c..e..?... ......................................................................................................................................... 521 CollectionWra..p...p..e..r. ..(.E...n..c..a..p..s..u..l.a..t..i.n..g.. ..C..o..l.l.e...c..t.i.o..n..s..;. ..R...e..a..d..i.n..g.. ..f.r..o..m... .a...n.. .A...S..C...I.I. .F...i.l.e..). .......................................... 530 CourseCatal.o..g.. ..................................................................................................................................................... 535 Faculty .......................................................................................................................................................... 540 Revamping .S..c..h...e..d..u..l.e..O...f.C...l.a..s..s..e..s.. ....................................................................................................................... 542 Course Mod.i.f.i.c..a..t..i.o..n..s.. ......................................................................................................................................... 544 The Student .C...l.a..s..s.. .(.D...y..n..a..m....i.c.. .D...a..t.a.. .R...e..t.r..i.e..v..a..l.;. ..P..e..r.s...i.s..t.i.n..g.. ..O...b..j.e..c..t. ..S..t.a..t.e...). ...................................................... 545 Revisiting the.. ..S..R...S.. .C...l.a..s..s.. .................................................................................................................................... 552 Summary .......................................................................................................................................................... 560 Exercises .......................................................................................................................................................... 560 4 Chapter 16: Rounding Out Our Application, Part 2 - Adding a Grap.h...i.c..a..l. .U...s..e..r. ..I.n..t.e..r..f.a..c..e................................................................................................. 561 C# GUIs: A P.r..i.m...e..r. ................................................................................................................................................ 562 Stage 1: Prep..a..r.i.n..g... .a.. .C...o..n..c..e..p...t. .o..f.. .O...p..e..r.a..t..i.o..n..s.. .f..o..r. .t..h..e.. .S...R..S... .G...U..I. ...................................................................... 569 Stage 2: Crea..t.i.n..g.. ..t.h..e.. .L...o..o..k.. .o...f. .O...u..r.. .G...U..I. ............................................................................................................. 579 Stage 3: Add.i.n..g.. .F...u..n..c..t.i.o...n..a..l.i.t.y.. .T...h..r.o...u..g..h.. .E...v..e..n..t. ..H..a..n...d..l.i.n..g.. ................................................................................ 605 Summary .......................................................................................................................................................... 639 Exercises .......................................................................................................................................................... 640 5 Chap..t.e..r.. .1..7..:. .N...e..x..t. .S...t.e..p..s.................................................................................................... 640 Our " Tried a..n...d.. .T..r..u..e.. .".. . ..A..p...p..r.o...a..c..h.. .t.o... .L..e..a..r..n..i.n..g.. ..C..#.. ..P..r..o..p..e..r.l.y.. ........................................................................ 641 Recommende..d.. ...R...e..a..d..i.n..g... .................................................................................................................................... 642 Your Comme..n..t.s..,. ..P...l.e..a..s..e..!. ................................................................................................................................... 644 Part IX Appendix A: Suggestions for Using This Book As a Textbook 646 1 Suita..b..i.l.i.t.y.. ..o..f. .C...#.. .A...s.. .a.. .T...e..a..c..h..i.n..g.. ..L..a..n..g..u..a..g...e................................................................... 647 7 8 Beginning C# Objects - From Concepts to Code @Team LiB 2 Som.e.. ..F..i.n..a..l. ..R..e..c..o...m...m...e..n..d..a..t..i.o..n..s...................................................................................... 648 Part X Appendix B: Alternative Case Studies 651 1 Case.. .S..t.u...d..y.. .#..2..:. .C...o..n..f.e..r..e..n..c..e.. .R...o..o..m... .R...e..s..e..r.v..a..t..i.o..n.. .S...y..s..t.e..m............................................... 652 2 Case.. .S..t.u...d..y.. .#..3..:. .B...l.u..e.. .S...k..i.e..s.. .A..i.r..l.i.n..e.. .R...e..s..e..r.v..a..t.i.o...n.. .S..y..s..t.e..m................................................ 655 Part XI Appendix C: Setting Up a Basic Object Modeling/C# Environment 658 1 The ...N..E...T.. .F...r.a..m...e..w...o..r..k.. .S..o...f.t.w...a..r.e.. ..D..e..v..e..l.o..p...e..r.'.s.. .K...i.t.......................................................... 658 2 " Od.d..s.. .a..n..d.. .E...n..d..s.. .".. . .T..i.p...s.. .f.o..r. .G...e..t.t..i.n..g.. .C...#.. .t.o.. .W....o..r.k.. .P...r.o..p..e..r..l.y........................................... 659 3 Usin.g.. .t..h..e.. .O...n..l.i.n..e.. ....N..E...T.. .F..r..a..m...e..w...o..r.k.. ..D..o..c..u...m...e..n..t.a..t.i.o...n..................................................... 662 4 Som.e.. .F..i.n...a..l. .N...o..t.e..s............................................................................................................. 663 Part XII Appendix D: Downloading and Compiling the SRS Source Code 666 Part XIII Appendix E: C# Keywords 669 Part XIV Index 678 1 Inde.x.._..A.............................................................................................................................. 678 2 Inde.x.._..B.............................................................................................................................. 682 3 Inde.x.._..C.............................................................................................................................. 683 4 Inde.x.._..D.............................................................................................................................. 689 5 Inde.x.._..E.............................................................................................................................. 691 6 Inde.x.._..F.............................................................................................................................. 692 7 Inde.x.._..G.............................................................................................................................. 694 8 Inde.x.._..H.............................................................................................................................. 696 9 Inde.x.._..I.............................................................................................................................. 697 10 Inde.x.._..J.............................................................................................................................. 699 11 Inde.x.._..K.............................................................................................................................. 700 12 Inde.x.._..L.............................................................................................................................. 700 13 Inde.x.._..M.............................................................................................................................. 701 14 Inde.x.._..N.............................................................................................................................. 705 15 Inde.x.._..O.............................................................................................................................. 706 16 Inde.x.._..P..-..Q.......................................................................................................................... 709 17 Inde.x.._..R.............................................................................................................................. 711 18 Inde.x.._..S.............................................................................................................................. 713 19 Inde.x.._..T.............................................................................................................................. 722 20 Inde.x.._..U.............................................................................................................................. 723 21 Inde.x.._..V.............................................................................................................................. 725 Contents 9 22 Inde.x.._..W.............................................................................................................................. 726 23 Inde.x.._..X.............................................................................................................................. 727 24 Index.._..Y...-.Z........................................................................................................................... 727 Part XV List of Figures 729 Part XVI List of Tables 739 Part XVII List of Sidebars 742 Index 0 9 HelpAndManual_unregistered_evaluation_copy 10 Foreword Foreword This is just another title page placed between table of contents and topics Top Level Intro This page is printed before a new top-level chapter starts Part I 12 Beginning C# Objects - From Concepts to Code @Team LiB 1 Table of Contents Beginning C# Objects: From Concepts to Code by Jacquie Barker and ISBN:159059360x Grant Palmer? Apress ?2004 (820 pages) This book addresses the two fundamental concepts that programmers must grasp in order to write a professional object-oriented C# application, then introduces object terminology so you can translate an object model into C# code with ease. Table of Contents Beginning C# Objects—From Concepts to Code Preface Introduction Part One - The ABCs of Objects Ch apt - A Little Taste of C# er 1 Ch apt - Abstraction and Modeling er 2 Ch apt - Objects and Classes er 3 Ch apt - Object Interactions er 4 Ch apt - Relationships Between Objects er 5 Ch apt - Collections of Objects er 6 Ch apt - Some Final Object Concepts er 7 Part Two - Object Modeling 101 Ch apt - The Object Modeling Process in a Nutshell er 8 Ch - Formalizing Requirements Through Use Cases apt Table of Contents 13 er 9 Ch apt - Modeling the Static/Data Aspects of the System er 10 Ch apt - Modeling the Dynamic/Behavioral Aspects of the System er 11 Ch apt - Wrapping Up Our Modeling Efforts er 12 Part Three - Translating a UML "Blueprint" into C# Code Ch apt - A Deeper Look at C# er 13 Ch apt - Transforming Our UML Model into C# Code er 14 Ch apt - Rounding Out Our Application, Part 1—Adding File Persistence er 15 Ch apt - Rounding Out Our Application, Part 2— Adding a Graphical User Interface er 16 Ch apt - Next Steps er 17 Ap pe - Suggestions for Using This Book As a Textbook ndi x A Ap pe - Alternative Case Studies ndi x B Ap pe - Setting Up a Basic Object Modeling/C# Environment ndi x C Ap pe - Downloading and Compiling the SRS Source Code ndi x D Ap pe - C# Keywords ndi x E Index List of Figures List of Tables List of Sidebars