A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘长路 中级黑马   /  2012-9-19 12:37  /  2324 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C#中的方法的种类以及区别,尽量的全面一些(比如abstract方法,virtual方法等等)

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

正序浏览
霍永刚 发表于 2012-9-20 09:17
1.C#类和接口的区别:
接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负 ...

学习一下,感谢分享!
回复 使用道具 举报
1.C#类和接口的区别:
接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负责功能的具体实现!
2.在类中也有抽象类的定义,抽象类与接口的区别在于:
抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,
需要进一步的专业化。但接口是一个行为的规范,里面的所有东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口.
3.C#语言中,值类型和引用类型有何不同?
值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,
而引用类型的变量存放的则是数据的地址,即对象的引用。
4.结构和类的区别
结构是一个值类型,保存在栈上,而类是一个引用类型,保存在受管制的堆上。
对结构中的数据进行操作比对类或对象中的数据进行操作速度要快。
一般用结构存储多种类型的数据,当创建一个很多类或对象共用的小型对象时,
使用结构效率更高。
5.抽象方法和虚方法的区别.
抽象方法
使用abstract关键字 public abstract bool Withdraw(…);
抽象方法是必须被派生类覆写的方法。
抽象方法是可以看成是没有实现体的虚方法
如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其它一般方法
虚方法
使用virtual关键字 public virtual bool Withdraw(…);
调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。
虚方法可以有实现体.
总结:
虚方法与多态性关系密切,虚方法允许派生类完全或部分重写该类的方法,
需写方法体。抽象类中可以包含抽象方法与一般的方法,抽象类不可以new,抽象方法只是一个定义,
没有方法体,也就是没有{},也不要在里面写内容。它们两个相像的一点是都用override重写


评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
1. public abstract class Person
   {
         public abstract void SayHello();
    }
一旦类中定义了一个抽象方法,那么这个类必须声明为抽象类
抽象类不能用new初始化实例。abstract方法不能定义方法体。
2. public interface Flyable
    {
          void Flay();
    }
   接口方法不要public
3. 一个类只能继承自一个类,但是可以实现多个接口;
4.一个抽象类中可以定义实现代码,但是接口不能定义实现代码。
5.接口的多态性,类型转换,is,as和类基本一样。
6.在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。
7.在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马