黑马程序员_抽象类和抽象方法
2014-03-28 13:54
267 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
抽象类表示一种抽象的概念,只是希望以它为基类的派生类有共同的函数成员和数据成员。
抽象类使用abstract修饰符,对抽象类的使用有以下几点规定:
• 抽象类只能作为其它类的基类,它不能直接被实例化。
• 抽象类允许包含抽象成员,虽然这不是必须的。抽象成员用abstract修饰符修饰。
• 抽象类不能同时又是密封的。
• 抽象类的基类也可以是抽象类。如果一个非抽象类的基类是抽象类,则该类必须通过覆盖来实现所有继承而来的抽象方法,包括其抽象基类中的抽象方法,如果该抽象基类从其它抽象类派生,还应包括其它抽象类中的所有抽象方法。
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
抽象类表示一种抽象的概念,只是希望以它为基类的派生类有共同的函数成员和数据成员。
抽象类使用abstract修饰符,对抽象类的使用有以下几点规定:
• 抽象类只能作为其它类的基类,它不能直接被实例化。
• 抽象类允许包含抽象成员,虽然这不是必须的。抽象成员用abstract修饰符修饰。
• 抽象类不能同时又是密封的。
• 抽象类的基类也可以是抽象类。如果一个非抽象类的基类是抽象类,则该类必须通过覆盖来实现所有继承而来的抽象方法,包括其抽象基类中的抽象方法,如果该抽象基类从其它抽象类派生,还应包括其它抽象类中的所有抽象方法。
using System; abstract class Figure//抽象类定义 { protected double x = 0, y = 0; public Figure(double a, double b) { x = a; y = b; } public abstract void Area();//抽象方法,无实现代码 } class Square : Figure///类Square定义 { public Square(double a, double b): base(a, b) { } public override void Area()//不能使用new,必须用override { Console.WriteLine("矩形面积是:{0}", x * y); } } class Circle : Figure///类Square定义 { public Circle(double a): base(a, a) { } public override void Area() { Console.WriteLine("园面积是:{0}", 3.14 * x * y); } } class Class1 { static void Main(string[] args) { Square s = new Square(20, 30); Circle c = new Circle(10); s.Area(); c.Area(); } }
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 21.黑马程序员-抽象类与抽象方法
- 黑马程序员——Java基础——继承接口抽象类
- C# 之抽象类和抽象方法
- 抽象类与抽象方法
- 密封类和密封方法,抽象类和抽象方法,虚函数,接口
- C#——面向对象——继承——抽象类和抽象方法
- PHP抽象类和抽象方法
- PHP5.0对象模型探索之抽象方法和抽象类
- 黑马程序员--Java基础--继承、抽象类、接口、内部类、异常、包
- 什么叫抽象类什么叫抽象方法
- C#的抽象类和抽象方法
- 抽象类和接口 与 抽象方法和虚方法
- 黑马程序员------------抽象类 接口
- 黑马程序员_抽象类
- 54 Java 抽象类和抽象方法 (二)
- 抽象方法和抽象类
- 黑马程序员——java基础_继承、抽象类、接口、多态
- 黑马程序员---学习抽象类、模版方法模式、接口
- PHP面向对象(OOP):抽象方法和抽象类(abstract)
- 黑马程序员--Java基础学习笔记之抽象类和接口、内存结构分析、Java APIs