黑马程序员---面向对象之"抽象类"
来源:互联网 发布:notepad mac 破解版 编辑:程序博客网 时间:2024/05/21 14:57
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
抽象类使用abstract修饰符,用于表示类中成员不一定全部实现。即可以只有声明部分而没有实现部分。抽象类只能做基类。
抽象类与非抽象类的区别:
第一:抽象类不能直接被实例化,只能在扩充类中通过继承使用。对抽象类使用new关键字会产生编译错误。
第二:抽象类可以包含抽象成员,而非抽象类不能包含抽象成员,当从抽象类中派生非抽象类时,非抽象类必须实现抽象类中所有的抽象成员。
例如:
//抽象类A abstract class A { public abstract void A();//抽象成员,没有实现部分 } //类B 继承自A 由于没有实现类A的抽象方法,所以也必须声明为抽象类 abstract class B : A { public void B() { } } //类C 继承自抽象类B public class C : B { //实现抽象类A 中的抽象方法 public override void A() { Console.WriteLine("你好"); } }
在非抽象类中实现抽象类时,必须实现抽象类中的每一个抽象方法,而且每个实现的方法必须和抽象类中指定的方法一样,即接受相同个数,相同类型的参数,具有同样的返回值在非抽象类中实现抽象类时,必须实现抽象类中的每一个抽象方法,而且每个实现的方法必须和抽象类中指定的方法一样,即接受相同个数,相同类型的参数,具有同样的返回值
//定义一个抽象类 public abstract class A { //可以被重写的方法,有实现部分 public virtual void a() { Console.WriteLine("人类"); } //抽象方法,没实现部分 public abstract void Aa(); } //定义一个类,继承自抽象类 public class B : A { //重写基类的虚拟方法 public override void a() { Console.WriteLine("中国人"); } //实现抽象类的抽象成员 public override void Aa() { Console.WriteLine("河南人"); } } class Program { static void Main(string[] args) { B b = new B(); b.a(); b.Aa(); Console.ReadKey(); } }
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:<ahref="http://edu.csdn.net" target="blank">http://edu.csdn.net </a>
- 黑马程序员----面向对象之“抽象类”
- 黑马程序员---面向对象之"抽象类"
- 黑马程序员--面向对象之三:抽象类和接口
- 黑马程序员——面向对象之抽象类,接口
- 黑马程序员-day07-面向对象(抽象类)
- 黑马程序员------java面向对象、抽象类
- 黑马程序员-JAVA面向对象之抽象、接口、多态
- 黑马程序员——面向对象之抽象类与接口
- 黑马程序员——Java面向对象之抽象类 接口 内部类笔记
- 黑马程序员_day07 面向对象(继承,抽象类,接口)
- 黑马程序员 面向对象--抽象类、接口、内部类总结
- 【黑马程序员】- 面向对象_多态_抽象类
- 黑马程序员------面向对象(No.5)(final、抽象类)
- 黑马程序员_java_ 面向对象_final_抽象类
- 黑马程序员 面向对象(下) 抽象类与接口
- 黑马程序员_面向对象_继承&抽象类
- 黑马程序员--面向对象(继承,多态,抽象类)
- 黑马程序员——面向对象13:抽象类
- The CircuitCalculator.com Blog a blog with live web calculators Home About Policies Contact PCB
- ListTree 风格
- 二叉树的节点个数(二叉树)
- java从字符串中提取数字
- 移动端开发小结
- 黑马程序员---面向对象之"抽象类"
- 多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)
- git 相关问题 总汇
- 如何设置eclipse不同的workspace共享配置
- 内部类
- Sizeof与Strlen的区别与联系
- IOS开发笔记 IOS如何访问通讯录
- 开张咯!
- Google Map 相关