C# 抽象类
2016-03-03 14:25
387 查看
抽象类使用abstract修饰符,用于表示类中的成员,(例如方法)不一定全部实现,可以只有声明部分而没有实现部分。抽象类只能用做基类。抽象类与非抽象类相比有以下主要不同之处。 1.抽象类不能直接被实例化,只能在扩充类中通过继承使用,对抽象类使用new运算符会产生编译错误。 2.抽象类可以包含抽象成员(有aabsctract修饰的成员),而非抽象类不能包含抽象成员。当抽象类派生非抽象类时,非抽象类必须实现抽象类的所有抽象成员。例如: abstract class A{ public abstract void F(); } abstract class B:A{ public void G(){} } class C:B{ public override void F(){ } }
在非抽象类中实现的抽象类时,必须实现抽象类中的每一个抽象方法,而且每个实现的方法必须和抽象类中制定的方法一样,即接收相同数目和类型的参数,具有同样的返回值
using System; namespace AbstractExample { public abstract class Fruit{ public virtual void itName(){ Console.WriteLine("this are fruits"); } public abstract void itColor(); } public class Apple:Fruit{ public override void itName(){ Console.WriteLine("this is a apple"); } public override void itColor(){ Console.WriteLine("it's color is red"); } } class MainClass { public static void Main (string[] args) { Apple apple = new Apple(); apple.itName(); apple.itColor(); Console.ReadLine(); } } }
相关文章推荐
- 在C#中关于excel的导入和导出操作
- C#利用反射动态创建对象 带参数的构造函数和String类型
- C#导入导出数据到Excel的通用类代码
- C#变成数据导入Excel和导出Excel
- 终于会用c#中的delegate(委托)和event(事件)了
- 【资料共享】 推荐一些C#相关…
- C# 自己定义 implicit和explicit转换
- C#开发之问题汇总-降低NetFramework版本后,没有报错,生成失败
- C#中DLL调用资料整理
- C# 多态性
- C#封装
- LINQ to Entities 不识别方法 xxx,此该方法无法转换为存储表达式
- WPF学习开发客户端软件-任务助手
- c#将正则截取到的数据保存到实体中
- 老蜗牛写采集:一个漂亮的客户端-几个C#平台下的Winform 皮肤控件
- C# 保护Excel文档
- C#编程实现QQ界面的方法
- C#更改tabControl选项卡颜色的方法
- C#隐藏主窗口的方法小结
- C#抓包