1 namespace ClassLesson 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 var person = new Person(5); 8 Console.WriteLine(person.GetAge()); 9 Console.WriteLine(Person.getFive()); //static 10 Console.WriteLine(person.Age); 11 person.Age = 10; 12 Console.WriteLine(person.Age); 13 Console.WriteLine(person.Age2); 14 person.Age2 = 10; 15 Console.WriteLine(person.GetAge()); 16 Console.WriteLine(person.GetName()); 17 18 Console.ReadLine(); 19 } 20 } 21 22 23 //the default modifier is internal,can be accessed in the namespace 24 //the Class can only inherit one Class,but can inherit a great deal of Interface 25 class Person : Main, ISuper 26 { 27 int age; 28 29 public int Age //default value is 0 30 { 31 get; 32 set; 33 } 34 35 public int Age2 36 { 37 get 38 { 39 return age + 10; 40 } 41 set 42 { 43 age = value - 10; 44 } 45 } 46 47 public Person(int myAge) //constructed function 48 { 49 this.age = myAge; 50 } 51 52 public int GetAge() //the default modifier is private (in the Class) 53 { 54 return age; 55 } 56 57 public static int getFive() //static method be stored in the Class 58 { 59 return 5; 60 } 61 62 public int GetSuper() 63 { 64 return age = 100; 65 } 66 67 public override int GetAbstract() 68 { 69 return 50; 70 } 71 } 72 73 interface ISuper //only include method、property、index and event 74 { 75 int GetSuper(); //only need statement,the details in the Class 76 } 77 78 //abstract class=>can't be instantiated 79 //function:be inherited by other Class 80 abstract class Main 81 { 82 public string Name; 83 public string GetName() 84 { 85 return Name = "string"; 86 } 87 88 public abstract int GetAbstract(); //abstract method's details must be in the Class which inherited this 89 } 90 91 /** 92 * the difference between Abstract Class and Interface: 93 * 1. 94 * Internal:all details be in the Class which inherited it 95 * Abstract Class:only 'abstract' details be in the Class which inherited it 96 * 2. 97 * Internal:can't have member variables and properties 98 * Abstract Class:all 99 * 3. 100 * Abstract Class:can't be instantiated 101 * 102 * the Class can only inherit one Class,but can inherit a great deal of Interface 103 */ 104 }