0 00: // Properties\person.cs 001: using System; 002: class Person 003: { 004: private string myName ="N/A"; 005: private int myAge = 0; 006: 007: // 声明一个字符型的属性Name 008: public string Name 009: { 010: get 011: { 012: return myName; 013: } 014: set 015: { 016: myName = value; 017: } 018: } 019: 020: // 声明一个int型的Age属性 021: public int Age 022: { 023: get 024: { 025: return myAge; 026: } 027: set 028: { 029: myAge = value; 030: } 031: } 032: 033: public override string ToString() 034: { 035: return "Name = " + Name + ", Age = " + Age; 036: } 037: 038: public static void Main() 039: { 040: Console.WriteLine("Simple Properties"); 041: 042: // 建立一个Person的实例 043: Person person = new Person(); 044: 045: file://打印出它的属性 046: Console.WriteLine("Person details - {0}", person); 047: 048: // 对属性进行一些设置 049: person.Name = "Joe"; 050: person.Age = 99; 051: Console.WriteLine("Person details - {0}", person); 052: 053: // 增加年龄 054: person.Age += 1; 055: Console.WriteLine("Person details - {0}", person); 056: } 057: } |
Simple Properties Person details - Name = N/A, Age = 0 Person details - Name = Joe, Age = 99 Person details - Name = Joe, Age = 100 |
000: // Properties\abstractshape.cs 001: using System; 002: 003: public abstract class Shape 004: { 005: private string myId; 006: 007: public Shape(string s) 008: { 009: Id = s; // 这句调用了Id属性的set构建器 010: } 011: 012: public string Id 013: { 014: get 015: { 016: return myId; 017: } 018: 019: set 020: { 021: myId = value; 022: } 023: } 024: 025: public abstract double Area 026: { 027: get; 028: } 029: 030: public override string ToString() 031: { 032: return Id + " Area = " + double.Format(Area, "F"); 033: } 034: } |
000: // Properties\shapes.cs 001: public class Square : Shape 002: { 003: private int mySide; 004: 005: public Square(int side, string id) : base(id) 006: { 007: mySide = side; 008: } 009: 010: public override double Area 011: { 012: get 013: { 014: return mySide * mySide; 015: } 016: } 017: } 018: 019: public class Circle : Shape 020: { 021: private int myRadius; 022: 023: public Circle(int radius, string id) : base(id) 024: { 025: myRadius = radius; 026: } 027: 028: public override double Area 029: { 030: get 031: { 032: return myRadius * myRadius * System.Math.PI; 033: } 034: } 035: } 036: 037: public class Rectangle : Shape 038: { 039: private int myWidth; 040: private int myHeight; 041: 042: public Rectangle(int width, int height, string id) : base(id) 043: { 044: myWidth = width; 045: myHeight = height; 046: } 047: 048: public override double Area 049: { 050: get 051: { 052: return myWidth * myHeight; 053: } 054: } 055: } |
000: // Properties\shapetest.cs 001: public class TestClass 002: { 003: public static void Main() 004: { 005: Shape[] shapes = 006: { 007: new Square(5, "Square #1"), 008: new Circle(3, "Circle #1"), 009: new Rectangle( 4, 5, "Rectangle #1") 010: }; 011: 012: System.Console.WriteLine("Shapes Collection"); 013: foreach(Shape s in shapes) 014: { 015: System.Console.WriteLine(s); 016: } 017: 018: } 019: } |
Shapes Collection Square #1 Area = 25.00 Circle #1 Area = 28.27 Rectangle #1 Area = 20.00 |