阿牛 - 专注.NET开发

如果梦想与实现之间有一道不可逾越的鸿沟,那么“执行力”就是跨越这道鸿沟的桥梁。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

接口和抽象类概述

  1. 接口是类的蓝图
  2. 在OOP中,接口是稳定,而抽象类和其子类是变化的.

接口和抽象类的区别

  1. 接口是"behaves like a",抽象类一个是"is a"

  2. 一个抽象类可以包括非抽象方法,和数据成员,接口的所有成员在效果上都是抽象的.

  3. 抽象类可以有构造器(不过通常是protected的),而接口不能.

  4. 接口成员的访问修饰符只能是public,而抽象类可以有定义其他访问修饰符(private , protected).

  5. 一个类可以现实任意多个接口,但只能继承自一个抽象类.

  6. 接口不能有数据成员,而抽象类可以.

 虚方法和重写

  1. .NET中如果基类的方法,或属性不声明成虚的,则子类无法重写基类的方法或属性.(在java,默认所有方法都是虚的,方便呀*_*,子类直接覆盖基类的)
  2. 继承非虚方法是,.NET默认会隐藏其基类的方法,给出一个警告.
  3. 虚方法和重写表达的语意就是多态.

 

两句闲话


以前,我有一次面试,人家让我说出抽象类,接口,虚方法,重写的用途和使用场景,我当时没答出来.现在想想真的很不应该,面向对象的知识这么重要,我们很多人都没有掌握好.我现在还在模索中...

另一道题是,脱离IDE,完全用文本编程器,写一个Windows Forms程序:两个textbox,三个button,排列整齐,按下button显示messagebox,用命令行编译并运行效果.还好,这一道我给他整出来了.

 

posted on 2007-09-16 23:26  阿牛-专注金融行业开发  阅读(189)  评论(0编辑  收藏  举报