【学习笔记】C# 抽象类
- 抽象类
- 有时设计类仅仅为了表达抽象的概念,不与具体的事物相联系,只作为其派生类的基类使用,用来描述所有子类的共同特性,这时我们可以使用抽象类
- 抽象类不能被实例化,抽象类可以包含抽象方法
- 抽象方法
- 抽象方法只声明不实现,但是在具体的子类中必须全部实现
- 抽象方法中可以包含非抽象方法,抽象方法必须写在抽象类中
- 抽象方法不能使用Private访问权限修饰符
-
1 using System; 2 3 namespace AbstractClassDemo 4 { 5 //抽象方法只能出现在抽象类中 6 //抽象类不能够直接实例化 7 public abstract class Food 8 { 9 //抽象方法需要添加 abstract关键字 10 //1. 在父类中定义的抽象方法不能够实现 11 public abstract void Eat(); 12 13 //抽象类中可以包含普通的方法 14 public void Test() 15 { 16 Console.WriteLine("Test"); 17 } 18 } 19 20 public class Apple:Food 21 { 22 //2. 子类实现父类的抽象方法时,需要添加Override 23 public override void Eat() 24 { 25 Console.WriteLine("Hp+10"); 26 } 27 } 28 29 public class Water: Food 30 { 31 public override void Eat() 32 { 33 Console.WriteLine("Mp+10"); 34 } 35 } 36 37 class Program 38 { 39 static void Main(string[] args) 40 { 41 //Apple apple = new Apple(); 42 //apple.Eat(); 43 Food f1 = new Apple(); 44 Food f2 = new Water(); 45 f1.Eat(); 46 f2.Eat(); 47 f1.Test(); 48 } 49 } 50 }
这是一只小菜鸟的成长历程,在学习Unity3d及C#的道路上,希望能越走越远!
浙公网安备 33010602011771号