文档详情

《C#语言程序设计(第版)》教学课件——第三部分.ppt

发布:2015-12-16约1.79万字共112页下载文档
文本预览下载声明
多态性 抽象类和抽象方法 抽象类: 不能创建实例 抽象方法: 不能有实现代码! public abstract class Shape { private Points[] points; public abstract double GetArea() {return 0;} } public class Quadrangle : Shape { } public class Rectangle : Quadrangle { public double width; public double height; public override double GetArea() {return 2 * (width + height);} } Quadrangle q1 = new Quadrangle(); x = q1.GetArea(); Rectangle r1 = new Rectangle(); x = r1.GetArea(); 多态性 抽象类和抽象方法 抽象类: 不能创建实例 抽象方法: 必须在非派生类中override! public abstract class Shape { private Points[] points; public abstract double GetArea(); } public class Quadrangle : Shape { } public class Rectangle : Quadrangle { public double width; public double height; public override double GetArea() {return 2 * (width + height);} } Quadrangle q1 = new Quadrangle(); x = q1.GetArea(); Rectangle r1 = new Rectangle(); x = r1.GetArea(); 多态性 抽象类和抽象方法 抽象类: 不能创建实例 抽象方法: 必须在非派生类中override! public abstract class Shape { private Points[] points; public abstract double GetArea(); } public class Quadrangle : Shape { public override double GetArea() {return 0;} } public class Rectangle : Quadrangle { public double width; public double height; public override double GetArea() {return 2 * (width + height);} } Quadrangle q1 = new Quadrangle(); x = q1.GetArea(); Rectangle r1 = new Rectangle(); x = r1.GetArea(); 也是virtual方法 public sealed class Quadrangle : Shape { public override double GetArea() {return 0;} } public class Rectangle : Quadrangle { public double width; public double height; public override double GetArea() {return 2 * (width + height);} } 多态性 抽象类和抽象方法 abstract类: 要求继承 sealed类: 不能被继承 public abstract class Shape { private Points[] points; public abstract double GetArea(); } public class Quadrangle : Shape { public sealed double GetArea() {return 0;} } public class Rectangle : Quadrangle { public double width; public double height; public override double GetArea() {return 2 * (width
显示全部
相似文档