/* Learning C# by Jesse Liberty Publisher: O'Reilly ISBN: 0596003765 */ using System; namespace Test_Console_App_3 { // declare a Cat class // stripped down class Cat { // a private static member to keep // track of how many Cat objects have // been created private static int instances = 0; private int weight; private String name; // cat constructor // increments the count of Cats public Cat(String name, int weight) { instances++; this.name = name; this.weight = weight; } // Static method to retrieve // the current number of Cats public static void HowManyCats() { Console.WriteLine("{0} cats adopted", instances); } public void TellWeight() { Console.WriteLine("{0} is {1} pounds", name, weight); } } public class StaticInClassTester { public void Run() { Cat.HowManyCats(); Cat frisky = new Cat("Frisky", 5); frisky.TellWeight(); Cat.HowManyCats(); Cat whiskers = new Cat("Whisky", 7); whiskers.TellWeight(); Cat.HowManyCats(); } static void Main() { StaticInClassTester t = new StaticInClassTester(); t.Run(); } } }