抽象类和接口
来源:互联网 发布:淘宝网如何盈利模式 编辑:程序博客网 时间:2024/05/21 11:32
一直没有搞明白过这两个是什么鬼,今天读了好几篇文章,认真的研究了一下,还是有进步的,整理笔记
http://www.cnblogs.com/Mryang-blog-cn/p/cxl.html
http://yinny.iteye.com/blog/1152430
http://www.cnblogs.com/tianxue/p/5641555.html
http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html
抽象类
不能被实例化的类被称为抽象类,抽象类是派生类的基类
public abstract class TestAbstract { //抽象类不能进行实例化,只能被继承 public void ShiFunInAbs() { Console.WriteLine("ShiFunInAbs"); } public abstract void AbsFunInAbs(); } internal class TestAbstractSon : TestAbstract { public override void AbsFunInAbs() { Console.WriteLine("AbsFunAbs"); } } static void Main(string[] args) { #region 测试抽象类 TestAbstractSon testAbstractSon = new TestAbstractSon(); testAbstractSon.ShiFunInAbs(); testAbstractSon.AbsFunInAbs(); Console.ReadKey(); #endregion}
- 抽象类可以同时包含抽象方法和非抽象方法
- 抽象方法只在派生类中真正实现,这表明抽象方法只存放函数原型,不涉及主体代码
- 派生自抽象类的类需要实现其基类的抽象方法,才能实例化对象
- 使用override关键字可以在派生类中实现抽象方法,经override声明重写基类方法,其签名必须与override方法签名相同。
- 基类实现抽象类,则派生类不需要重新实现该抽象类
- 抽象类并不仅仅只是一种实现技巧,它更代表一种抽象的概念,从而为所有的派生类确立一种约定。
——————————————————————————————————
接口
public interface InterfaceTest { void ConsoleInfo(); }
- 一个接口就相当于一个抽象类,但是它不能包含任何实现方法
- 接口的每个方法必须都在派生类中进行实现
- 接口有时候可以看成是类的模具,它指明一个类该提供哪些内容
- 接口只限于方法、索引器、属性的声明,不能包含字段、构造器和常量等
- 接口成员是隐式公开的,如果对其进行显示指定访问级别,就会出现编译器错误
- 在指定方法时,只需要给出返回类型、名称和参数列表,然后以分号结束
- 实现接口的语法同实现类,以冒号隔开,只能继承一个基类,但是可以继承多个接口
- 接口中的方法只能实现,不能重写
—————————————————————————————————
public interface InterfaceTest { void ConsoleInfo(); } /// <summary> /// 继承类中的公共方法,并且在抽象类中定义自己的个性方法 /// </summary> public abstract class SonOfInterface:InterfaceTest { public void ConsoleInfo() { Console.WriteLine("Interface in abstract class"); Console.ReadKey(); } //定义自己的个性方法 public abstract void ConsoleAdd(); } public class GrandSon1OfIntereface : SonOfInterface { public override void ConsoleAdd() { Console.WriteLine("1+1=2"); Console.ReadKey(); } } public class GrandSon2OfIntereface : SonOfInterface { public override void ConsoleAdd() { Console.WriteLine("2+2=4"); Console.ReadKey(); } }
阅读全文
0 0
- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 接口和抽象类
- map换算
- scrapy顺序执行多个爬虫
- 校级
- jboss与jersey依赖冲突问题解决
- 第二次考试前端
- 抽象类和接口
- ie8中textarea的编辑,滚动条等问题
- 51nod 1181 质数中的质数(质数筛法)
- unity设置屏幕不锁屏
- 计算机原理学习ing(1)
- hdu 5920(高精度 + 模拟)
- I2C子系统之I2C bus初始化——I2C_init()
- Android 定位2
- C语言中sprintf()函数的用法