CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

问几个概念性的问题

楼主peterb(基础的重要性!!! 去处浮躁 静,思,学!)2006-03-19 20:34:54 在 .NET技术 / C# 提问

1.说明继承、重载、覆盖、隐藏和多态的区别。  
  2.说明C#中多态的条件。  
  3.说明派生类对象的链式构造和析构过程。  
  4.什么是密封类和密封方法。  
  5.Base关键字如何使用。对应与c++是怎么调用基类被隐藏的函数的?  
  问题点数:100、回复次数:13Top

1 楼zhantianyou()回复于 2006-03-19 21:37:00 得分 30

继承指一个派生类能够调用基类的所有成员,但重载只的是在同一个类中,可以有多个相同的方法名,在调用时,系统会根据调用参数的不同,自动分配对应的方法!但是参数名类型不能相同,否则会出错Top

2 楼peterb(基础的重要性!!! 去处浮躁 静,思,学!)回复于 2006-03-19 22:00:52 得分 0

谢谢zhantianyou()   的回答,大家继续,能够把这些问题搞搞清楚  
  平时代码写了不少,但是一些概念性的问题,不是很清楚,理解不够Top

3 楼henry3695(henry(老师说学好正则可以赚美元的))回复于 2006-03-19 22:09:46 得分 10

楼上说的我理解了,其他的几点呢,说来听听,  
  感觉楼上这么一说自己就理解了,书上看了就是糊里糊涂的Top

4 楼net_lover(【孟子E章】)回复于 2006-03-19 23:36:10 得分 20

中文sdk上应该都有的。要理解概念,最好作个例子测试Top

5 楼peterb(基础的重要性!!! 去处浮躁 静,思,学!)回复于 2006-03-20 00:02:53 得分 0

好,回去先查查中文sdk再说,不懂再问各位Top

6 楼lhx1977(清水无鱼)回复于 2006-03-20 08:20:24 得分 10

看看C#高级编程的前几章吧。说的比较清楚的。  
  Top

7 楼ThreadSharp(ThreadSharp V2006)回复于 2006-03-20 08:31:03 得分 10

看你问的几个问题,  
  我觉得  
  一:你对C#编程基本不会,  
  二:你对面向对象编程的思想基本模糊,  
  三:建议你不要在这发贴,而是找一本书啃啃,因为涉及的内容太多,不可能有谁会在这把东西全写出来的,如果不全写出来,对你还是没有帮助的……  
  祝你好运,  
  我想只要你仔细的看书了,这些概念很好懂的……Top

8 楼tianzhijian(天之剑)回复于 2006-03-20 08:45:50 得分 5

楼上的说得对,还是先自己看书搞清楚得好。  
  这样会更有帮助。Top

9 楼MonkWang(象写情书一样写程序)回复于 2006-03-20 08:59:47 得分 0

学习Top

10 楼kqh0319(华仔)回复于 2006-03-20 09:25:32 得分 5

1.说明继承、重载、覆盖、隐藏和多态的区别。  
  2.说明C#中多态的条件。  
  3.说明派生类对象的链式构造和析构过程。  
  4.什么是密封类和密封方法。  
  5.Base关键字如何使用。对应与c++是怎么调用基类被隐藏的函数的?  
   
   
  MSDN一一有描述和實例,Top

11 楼peterb(基础的重要性!!! 去处浮躁 静,思,学!)回复于 2006-04-13 11:28:05 得分 0

说明继承、重载、覆盖、隐藏和多态的区别。  
  答:  
        继承:派生类可以继承除了基类的构造函数和析构函数以外的所有的成员。  
        重载:函数的参数个数或参数类型不同的而函数名相同的函数称重载。根据参数的不同自动匹配调用。  
        覆盖/隐藏:  
  (1)成员变量的覆盖:如果派生类声明了一个和基类同名的成员变量,就是覆盖了基类成员。  
                  (2)成员函数(方法)的覆盖:实际上可以分为两种:普通方法(非虚函数)的覆盖称为隐藏,声明时在派生类中函数头前用关键词new,不能与override同时用;另外一种,就是虚方法的覆盖,真正意义上的函数覆盖。基类中的函数用关键词virtual,派生类中用override。  
        多态:同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果。基类对象指向派生类对象,基类对象调用虚函数时体现多态,会在运行时决定调用哪个类的函数,即运行时多态。  
  实际上,只有虚函数才有多态,成员变量不具多态的能力,非虚函数的覆盖函数(即所说的隐藏)在编译时就确定其调用者,即编译时多态,但没有多态的体现。  
   
    说明C#中多态的条件。  
  答:  
  基类引用指向派生类对象,调用virtual函数,根据运行时确定指向的对象决定调用基类的还是派生类里的函数,实现多态。  
  只有虚函数的覆盖才有多态的能力,成员变量不具有多态的能力。  
   
    说明派生类对象的链式构造和析构过程。  
  答:  
  实例化一个派生类的对象时,派生类构造函数在执行它自己的函数体之前,会显示或隐式地调用基类构造函数。  
  当析够一个派生类对象时,顺序与构造函数执行的顺序相反。先析构自己再析构基类;  
  N个对象的析构与构造的顺序相反。  
   
    什么是密封类和密封方法。  
  答:  
  密封类:不允许别的类继承的类。类声明的前面加关键字sealed。  
  密码方法:对方法可以使用sealed修饰符,这是称该方法是一个密封方法。密封方法是以防止在方法所在类的派生类中对改方法的重载。密封方法必须对基类的虚方法进行重载,提供具体的实现方法。  
   
    Base关键字如何使用。对应与c++是怎么调用基类被隐藏的函数的?  
  答:  
    C#中:  
            Base一般用在派生类中(或派生类对象)调用基类的函数或成员时为了区分基类和派生类同名的成员(如成员函数的覆盖或是继承来的成员变量的隐藏);一般格式为:   Base.fuction()   或者Base.x   (其中function()是基类的成员函数,x是基类的成员变量)。  
  Eg:  
  Master从Student派生来,fn()是Student中的函数  
  Master   a;  
  a.base.fn();  
  C++中:  
  对应在c++中格式为:father::function()或者father::x.(father是基类)  
  Eg:   a.Student::fn();  
   
    abstract类与具体类的区别,abstract类的作用是什么?  
  答:  
      与具体类区别在于:  
   抽象类只能作为其它类的基类,它不能被直接实例化,而且对抽象类不能使用new操作符。  
   抽象类不能同时又是密封的。  
                作用:为它的派生类提供一个公共的界面。  
   
    interface与abstract类的区别,interface的作用是什么?  
  答:  
          区别在于:  
   接口继承允许多继承,一个接口可以有多个父接口;而抽象类和普通类只能有一个父类。  
   接口里面的只是对函数的说明不包含任何实现(即使是空的{}都不行;而抽象类可以包含部分方法的实现。  
   接口一旦创建了就不能更改。  
   接口成员声明不能包含很和修饰符。默认的为public.  
   实现接口必须实现接口中的所有方法,而继承抽象类的子类可以还是抽象类,可以只实现部分方法。  
  作用:在组件和组件之间、组件和客户之间都通过接口进行交互。  
  Top

12 楼huangguangdou(人生最遗憾的,莫过于,轻易的放弃了不该放弃的)回复于 2006-04-13 11:33:48 得分 10

楼上的说的挺好  
   
  upTop

13 楼ice_frank(回归......)回复于 2006-04-13 12:09:57 得分 0

UPTop

相关问题

  • 几个概念性的问题
  • 几个概念性的问题!
  • VC的几个基本概念性问题
  • 几个简单概念性问题,不想翻书找了:
  • 想转到.net,有几个概念性的问题请教1
  • 菜鸟问个概念性问题
  • 一个概念性的问题
  • 求救,一个概念性的问题
  • 一个概念性的问题
  • 一个概念性的问题

关键词

  • c#
  • c++
  • 函数
  • 接口
  • 组件
  • 类
  • 调用
  • 重载
  • 派生类
  • 密封

得分解答快速导航

  • 帖主:peterb
  • zhantianyou
  • henry3695
  • net_lover
  • lhx1977
  • ThreadSharp
  • tianzhijian
  • kqh0319
  • huangguangdou

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo