59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Inheritance | |||
|  | localeTitle: 遗产 | |||
|  | --- | |||
|  | # 遗产
 | |||
|  | 
 | |||
|  | 继承允许您创建扩展或修改现有类的类。这可以用于创建派生自其他类的类。 | |||
|  | 
 | |||
|  | # 基类和派生类
 | |||
|  | 
 | |||
|  | 这些是引用继承时用于类的术语。派生类继承基类,以及基类使用的任何变量,函数或进程。然后,派生类可以拥有自己的变量和函数,以及它从基类继承的变量和函数。 | |||
|  | 
 | |||
|  | 例如,'Animal'的Base类可以具有派生类'Dog'。 Animal类将包含与动物有关的特征,而Dog类包含狗特有的特征。当Dog类继承Animal类时,它将能够引用与动物相关的特征和狗特有的特征。 | |||
|  | 
 | |||
|  | # 继承规则
 | |||
|  | 
 | |||
|  | 继承是一种方式。基类不继承派生类的功能。 | |||
|  | 
 | |||
|  | 继承是传递性的。 “动物”的基类可以有一个派生类'狗',这可以有一个派生类'梗'。 Terrier类将继承Dog类和Animal类的功能。 | |||
|  | 
 | |||
|  | # `:`符号
 | |||
|  | 
 | |||
|  | 在C#中`:`符号用于表示继承。在创建派生类时调用此方法。 | |||
|  | 
 | |||
|  | ## 例
 | |||
|  | 
 | |||
|  | # 基类
 | |||
|  | ``` | |||
|  | public class Animal  | |||
|  |  {  | |||
|  |     public int ID;  | |||
|  |     public string title;  | |||
|  |     public enum phylum;  | |||
|  |     public enum dietType;  | |||
|  |   | |||
|  |         public DefineAnimal(int id, string name, enum phy, enum diet)  | |||
|  |     {  | |||
|  |         this.ID = id;  | |||
|  |         this.title = name;  | |||
|  |         this.phylum = phy;  | |||
|  |         this.dietType = diet;  | |||
|  |     }  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | # 派生班
 | |||
|  | ``` | |||
|  | public class Dog : Animal  | |||
|  |  {  | |||
|  |     public enum breed;  | |||
|  |     public int levelOfTraining;  | |||
|  |   | |||
|  |     public void SayWoof()  | |||
|  |     {  | |||
|  |         Console.WriteLine("Woof");  | |||
|  |     }  | |||
|  |  }  | |||
|  | 
 | |||
|  | ``` |